542505989 发表于 2015-7-2 07:27:19

sql server 实现lastIndexOf

  

  先移转,再查询
  SELECT case when charindex('12',s) =0 then 0 else length(s)-charindex(reverse('12'),reverse(s)) end AS lastIndexOf, s FROM t;
  
  利用存储过程,一个个找:
  set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION . (@stringValue as nvarchar(1000), @stringSearch as nvarchar(1000), @startPosition as int = 0)
returns int
AS
BEGIN
   DECLARE @lastindex int
   SET @lastindex= 0
   DECLARE @tempindex int
   while (1=1)
   begin
      SET @tempindex = charindex(@stringSearch, @stringValue, @lastindex + 1)
      if (@tempindex = 0)
            break
      SET @lastindex = @tempindex
   end
   
   RETURN(@lastindex)
END




  
  
页: [1]
查看完整版本: sql server 实现lastIndexOf