比如我通过查询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))