首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么操作字符串呢?···

2012-06-14 
如何操作字符串呢?求助动态从表中取出一个 类似这样的串“A-2012-06-13-1”“A-2012-06-13-2”“A-2012-06-13-1

如何操作字符串呢?求助···
动态从表中取出一个 类似这样的串“A-2012-06-13-1”“A-2012-06-13-2”“A-2012-06-13-11”“A-2012-06-13-111”
我现在想要截取这个串的最后一个"-"后面的数据,就是“1”“2”“11”“111”之类的
由于最后一个-后面的长度不定,没法固定取,如果有split之类的数组操作就好了。
这里由于各种原因用前台操作也不方便。
求助~~~~~

[解决办法]

SQL code
create function   [dbo].[f_split](@c   varchar(512),@split   varchar(2))     returns   @t   table(col   varchar(16))   as   begin     while(charindex(@split,@c)<>0)       begin         insert   @t(col)   values   (substring(@c,1,charindex(@split,@c)-1))         set   @c   =   stuff(@c,1,charindex(@split,@c),'')       end     insert   @t(col)   values   (@c)     return
[解决办法]
SQL code
declare @str varchar(20)set @str='A-2012-06-13-111'select right(@str,charindex('-',REVERSE(@str))-1) as value/*value---------111*/
[解决办法]
SQL code
把字符串反转(用reverse函数),然后用 结合 substring 、charindex 函数取到值,最后再将该值反转(用reverse函数) 就是你想要得到的值。类似: select reverse(substring(reverse('A-2012-06-13-2'),1,CHARINDEX('-',reverse('A-2012-06-13-2'))-1))/*(无列名)2*/ 

热点排行