当前位置: 代码迷 >> ASP.NET >> sql在字符串中怎么得到最后一个冒号后面的所有字符啊
  详细解决方案

sql在字符串中怎么得到最后一个冒号后面的所有字符啊

热度:7570   发布时间:2013-02-25 00:00:00.0
sql在字符串中如何得到最后一个冒号后面的所有字符啊??
比如我通过查询READ_COUNT_LOG字段得到:

20081001:0;20081101:0;20081201:0;20090101:0;20090201:0;20090301:6

20090401:7;20090501:8;20090601:4;20090701:4

20091001:13;20091101:26;20091201:9;20100101:12

等等这些类似的字符串,我现在就是希望这个在得到的READ_COUNT_LOG中得到最后一个冒号后面的所有字符

------解决方案--------------------------------------------------------
第一,正则
第二,substring,先用LastIndexOf找到最后冒号位置,在从0去substring到这个位置
------解决方案--------------------------------------------------------
得到12
SQL code
Declare @S1 varchar(100)   Select @S1='20090501:8;20090601:4;20090701:420091001:13;20091101:26;20091201:9;20100101:12'   select right(@S1,charindex(':',REVERSE(@S1))-1)
------解决方案--------------------------------------------------------
sql中有REVERSE ,CHARINDEX ,LEFT,REVERSE
------解决方案--------------------------------------------------------
SQL code
DECLARE @str nvarchar(max)SET @str='20081001:0;20081101:0;20081201:0;20090101:0;20090201:0;20090301:620090401:7;20090501:8;20090601:4;20090701:420091001:13;20091101:26;20091201:9;20100101:12'SELECT REVERSE(LEFT(REVERSE(@str),CHARINDEX(':',REVERSE(@str))-1))
  相关解决方案