比如我通过查询READ_COUNT_LOG字段得到: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等等这些类似的字符串,我现在就是希望这个在得到的READ_COUNT_LOG中得到最后一个冒号后面的所有字符
解决方案 »
- 急急急:::Gridview不分页实现pagesize功能?
- asp.net如何写控件
- 求助:关于mvc3多表关系,写入问题!!!
- 请个位朋友帮忙,为什么我的网站中所有的按钮都用不了?
- 谁能解释一下,按钮提交事件到服务器返回这个过程具体是怎么样操作的呢?
- (100分)GridView控件内容的换行???-----急
- 高手请进,跪求!!!
- web部署方案中在桌面创建一个指向web首页的快捷方式,急等用
- 请思归高手继续解答一个遗留问题,等很久都没有人能答我的问题,不胜感激!
- 怎样在一次用户会话中,只用一个数据库连接?
- vs2008调试显示16进制
- sql在字符串中如何得到最后一个冒号后面的所有字符啊??
第二,substring,先用LastIndexOf找到最后冒号位置,在从0去substring到这个位置
string val= "20090501:8;20090601:4;20090701:420091001:13;20091101:26;20091201:9;20100101:12";
string values= val.Substring(val.LastIndexOf(";")+1);
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)
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))
这样是对的那么我如果想找最后一个20090401:后面的7,这样能不能实现呢????这样的话是以20090401:为分割的!这个又要怎么去做呢???。
DECLARE
@str varchar(8000),
@search_str varchar(10),
@a INT,
@string VARCHAR(100)
SELECT
@str = ';20100701:15;20100801:11;20100901:9;20101001:9;20101101:1;20101201:9;20110107:8;20110201:6;20110301:4;20110401:3;20110601:15;20110701:3;20110801:3;20110901:2;20111001:5;20111101:6;20120105:4;20120201:0;20120410:4;20120410:0;20120411:0',
@search_str = '20120410:'SELECT
@a=CASE
WHEN CHARINDEX(@search_str, @str) = 0 THEN 0
ELSE LEN(@str) - CHARINDEX(REVERSE(@search_str), REVERSE(@str)) - LEN(@search_str) + 2
END
SELECT @string=stuff(@str,1,@a+LEN(@search_str)-1,'')
SELECT LEFT(@string,CHARINDEX(';',@string)-1)