昨天有幫助網友解決的個字元串截取的問題,《截取字元串中最後一個中文詞語(MS SQL)》http://www.cnblogs.com/insus/p/7883606.html 雖然實現了,但始終覺得代碼寫得很複雜。MS SQL Server中沒有一個如同C#一樣的函數LastIndexOf。沒有,我 ...
昨天有幫助網友解決的個字元串截取的問題,《截取字元串中最後一個中文詞語(MS SQL)》http://www.cnblogs.com/insus/p/7883606.html 雖然實現了,但始終覺得代碼寫得很複雜。
MS SQL Server中沒有一個如同C#一樣的函數LastIndexOf。沒有,我們是可以創建一個Scalar-valued Function函數的。
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(@Delimiter + @OriginalCharacterString)) ENDSource Code
想截取最後一個詞語,截取開始位置,從最後一個空格開始。