简书链接:sqlserver常用的字符串操作
文章字数:133,阅读全文大约需要1分钟
案例

1
IF PATINDEX ('%[0-9]%' , SUBSTRING('ABCDEFG',3,1))=1 --

取出第三位C

1
SUBSTRING('ABCDEFG',3,1)

判断是否是数字 这里返回0
if (PATINDEX ('%[0-9]%' ,'C')=1
替换所有的-为_

1
select replace('FF_ff-ff','-','_') 

重复5次_

1
select REPLICATE('_', 5)

查找abc**中是否有_从第2位开始, sql server 位置从1开始 而且是先是需要找的字符,第二个参数才是被找字符串,我老容易混淆

1
select CHARINDEX('_', 'abcd_ddddd', 2);

巧妙实现补0这里是A补3位 00A
RIGHT('00000' + 'A', 3)
巧妙替换插入 在ab之后插入_ 如果0 改为1 则是替换

1
STUFF('abcdef',2,0,'_')