Charindex('',字段名) 返回的是数值。即要查找的字符在字串的出现的位置。如果有多个,那么返回的是出现的第一个。
left(),rigtht() ,和Substring()等函数返回的是字串,所以,与charindex()结合,就可以查出所需要的字串。
★★★★查出字段中字符数最大的一条记录:
Select 字段1, len(字段1)
from [DICT].[dbo].[韦氏]
where
len(字段1) = ( select max(len(字段1)) from [DICT].[dbo].[韦氏] )
★★★★将、“\ ”后面的部分清除掉。即替换为''。
update
[DICT].[dbo].[韦氏] set 字段3=REPLACE(字段3,right(字段3,len(字段3) - charindex('\ ',字段3)) ,'')
★★★★ 左边开始,查找到的特殊字符及该字符后面的一个
SELECT 字段1,字段4, SUBSTRING(字段4,1,CHARINDEX('〗',字段4)-1) from [DICT].[dbo].[TOSJ]
where 字段4 like '%〗%' and left(SUBSTRING(字段4,1,CHARINDEX('〗',字段4)-1),1)>'每' and len(SUBSTRING(字段4,1,CHARINDEX('〗',字段4)-1))<15
and left(SUBSTRING(字段4,1,CHARINDEX('〗',字段4)-1),10) not like '%〖%'
order by 字段4
★★★★查找某个特殊符第一次出现左边所有的字符:
SELECT 字段4,left(字段4,charindex(']',字段4)) ,
SUBSTRING(字段4,1,charindex(']',字段4))
FROM [DICT].[dbo].[TOSJFromSQL]
★★★★查找第一个]出现的字符位数:
SELECT 字段4,charindex(']',字段4)
FROM [DICT].[dbo].[TOSJFromSQL]
★★★★查找第一个]
SELECT 字段4,substring(字段4,charindex(']',字段4),1) FROM [DICT].[dbo].[TOSJFromSQL]
where charindex(']',字段4)>0
★★★★截取 ] 后面的字符串。注意,只截取第一个出现的,后面出现的将被略去。
SELECT 字段4, right(字段4,len(字段4) - charindex(']',字段4) )
FROM [DICT].[dbo].[TOSJFromSQL]
where charindex(']',字段4)>0
★★★★截取 ] 左边所有的字符
SELECT 字段4, left(字段4,charindex(']',字段4)-1)
FROM [DICT].[dbo].[TOSJFromSQL]
where charindex(']',字段4)>0
★★★★查找 ] 左边的第一个字符。
SELECT 字段4, right(left(字段4,charindex(']',字段4)-1),1)
FROM [DICT].[dbo].[TOSJFromSQL]
where charindex(']',字段4)>0
★★★★将字段里的字符全部替换为:
update [DICT].[dbo].[TOSJFromSQL_1] set 字段4=replace(字段4,substring(字段4,charindex(']',字段4),1) ,'〗')
★★★★统计 〗 出现的次数:
SELECT
字段4,len(字段4)-len(replace(字段4, '〗', ''))
FROM [DICT].[dbo].[TOSJFromSQL_1]