我有兴趣从字符串中查找字符索引,其中字符是空格或_(下划线)或 - (连字符)。
SELECT CHARINDEX(' ','kjhk wonderful', 1)
(退货5) 如果我搜索“空间”,可以使用,但我对所提到的任何一个符号感兴趣,这是第一个。有什么想法吗?什么是正确的语法?
答案 0 :(得分:4)
检查
SELECT PATINDEX('%[ _-]%','kjhk wonderful')
答案 1 :(得分:1)
它很乱,所以可能会有一个更简洁的方式,但以下方法会有效。
SELECT MIN(pos) FROM
(
SELECT CHARINDEX(' ','kj-hk won_derful', 1) AS pos
UNION ALL
SELECT CHARINDEX('_','kj-hk won_derful', 1) AS pos
UNION ALL
SELECT CHARINDEX('-','kj-hk won_derful', 1) AS pos
) as query
答案 2 :(得分:0)
请尝试使用PATINDEX (Transact-SQL):
SELECT PATINDEX('%[ _-]%', 'kjhk wonderful')