求一个sql语句,把字段里 第一个冒号以后的字符替换成空字符串,立马给分

时间:2022-02-14 05:42:38
表数据如图:
求一个sql语句,把字段里 第一个冒号以后的字符替换成空字符串,立马给分
把冒号及以后的数据都替换成空!个名:objectUser

7 个解决方案

#1


UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short))
WHERE CHARINDEX(':',short)>0
参考一下

#2


DECLARE @tb TABLE (short VARCHAR(200))
INSERT INTO @tb(short)
SELECT '11:2222222' UNION ALL
SELECT '22:22323' UNION ALL
SELECT '3333:44444444'


select replace(short,substring(short,charindex(':',short)+1,len(short)),'')
from @tb

#3


引用 1 楼 ky_min 的回复:
UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short))
WHERE CHARINDEX(':',short)>0
参考一下


引用 2 楼 u013226693 的回复:
DECLARE @tb TABLE (short VARCHAR(200))
INSERT INTO @tb(short)
SELECT '11:2222222' UNION ALL
SELECT '22:22323' UNION ALL
SELECT '3333:44444444'


select replace(short,substring(short,charindex(':',short)+1,len(short)),'')
from @tb


注:把冒号级冒号以后的都删掉

#4


UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short)-1)
WHERE CHARINDEX(':',short)>0

#5


引用 4 楼 ky_min 的回复:
UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short)-1)
WHERE CHARINDEX(':',short)>0

再帮个忙撒,把  类似于  “一、”  这些都去掉

#6


如果是冒号及冒号以上,那charindex那里把+1去掉就行了;
另外,如果是把“一、”这样的需要也去掉,属于字符分析的范畴,还是别用数据库搞了

#7


这个范围比较大,如果只有中文的一到十的话,可以直接这样
UPDATE objectUser
SET short=SUBSTRING(short,CHARINDEX('、',short)+1,LEN(short))
WHERE PATINDEX('[一二三四五六七八九十]、%',short)>0

#1


UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short))
WHERE CHARINDEX(':',short)>0
参考一下

#2


DECLARE @tb TABLE (short VARCHAR(200))
INSERT INTO @tb(short)
SELECT '11:2222222' UNION ALL
SELECT '22:22323' UNION ALL
SELECT '3333:44444444'


select replace(short,substring(short,charindex(':',short)+1,len(short)),'')
from @tb

#3


引用 1 楼 ky_min 的回复:
UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short))
WHERE CHARINDEX(':',short)>0
参考一下


引用 2 楼 u013226693 的回复:
DECLARE @tb TABLE (short VARCHAR(200))
INSERT INTO @tb(short)
SELECT '11:2222222' UNION ALL
SELECT '22:22323' UNION ALL
SELECT '3333:44444444'


select replace(short,substring(short,charindex(':',short)+1,len(short)),'')
from @tb


注:把冒号级冒号以后的都删掉

#4


UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short)-1)
WHERE CHARINDEX(':',short)>0

#5


引用 4 楼 ky_min 的回复:
UPDATE objectUser
SET short=SUBSTRING(short,1,CHARINDEX(':',short)-1)
WHERE CHARINDEX(':',short)>0

再帮个忙撒,把  类似于  “一、”  这些都去掉

#6


如果是冒号及冒号以上,那charindex那里把+1去掉就行了;
另外,如果是把“一、”这样的需要也去掉,属于字符分析的范畴,还是别用数据库搞了

#7


这个范围比较大,如果只有中文的一到十的话,可以直接这样
UPDATE objectUser
SET short=SUBSTRING(short,CHARINDEX('、',short)+1,LEN(short))
WHERE PATINDEX('[一二三四五六七八九十]、%',short)>0