微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLSERVER字符串截取

sqlSERVER字符串截取  

截取字符串A的第一个\左边的字符串

select left(A,charindex('/',A)-1)
输出结果:F:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---截取\中间的字符串
select  left(stuff(A,1,A),''),stuff(A,''))-1)
输出结果:photo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


---截取最后一个\后面的字符串
select  reverse(left(reverse(A),reverse(A))-1))
输出结果:Winter Leaves.jpg

declare @end int --截取的结束位置

declare @www varchar(100) --要处理的字符串

set @www = 'http://www.baidu.com/zhidao/'

set @www = REPLACE(@www,'http://','') --替换掉http://

set @end = PATINDEX('%/%',@www) --得到第一次出现'/'的位置

set @www = SUBSTRING(@www,@end) --截取

select @www

存储过程如下:

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'gs_MySub' AND type = 'P')

DROP PROCEDURE gs_MySub

GO

create proc gs_MySub

@www varchar(100),

@result varchar(100) output,

@end int = 0

as

set @www = REPLACE(@www,@www) --得到第一次出现'/'的位置

set @result = SUBSTRING(@www,@end) --截取

GO

//测试代码

declare @result varchar(100)

exec gs_MySub 'http://www.baidu.com/zhidao/',@result output

print @result

 

表名:job 
工号 姓名 年龄 
000123 aaa 25 
000124 bbb 26 
000125 ccc 22 

现需将'工号'字段的内容批量改成前面加AD,即结果如AD000123、AD000124、AD000125

.首先你的‘工号’列要扩大容量  alter table job alter column 工号 varchar(20)  2.UPDATE job SET 工号='AD'+工号

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐