C++创建三个Scalar-valued Function函数来贯彻LastIndexOf

前天有帮忙网民解决的个字符串截取的难点,《截取字符串中最终三个华语词语(MS
SQL)
http://www.cnblogs.com/insus/p/7883606.html
固然达成了,但始终认为代码写得很复杂。
MS SQL
Server中尚无二个就像C#同等的函数LastIndexOf。未有,大家是可以创立二个Scalar-valued
Function函数的。

 C++ 1

 

 

C++ 2C++ 3

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE FUNCTION [dbo].[svf_LastIndexOf]
(
    @OriginalCharacterString NVARCHAR(MAX),
    @Delimiter CHAR(1)
)
RETURNS INT
AS
BEGIN    
    RETURN LEN(@OriginalCharacterString) - CHARINDEX(@Delimiter, REVERSE(@OriginalCharacterString)) + 1
END

Source Code

 

函数写好,大家举个小例子来演示一下:
C++ 4

 

想截取最后一个词语,截取起第贰人置,从最终一个空格开端。