我有兴趣从字符串中查找字符索引,其中字符是空格或 _(下划线)或 -(连字符)。
SELECT CHARINDEX(' ','kjhk wonderful', 1)
(返回 5)可以在我搜索“空格”时使用,但我对提到的任何一个符号都感兴趣,它首先出现。请问有什么想法吗?什么是正确的语法?
我有兴趣从字符串中查找字符索引,其中字符是空格或 _(下划线)或 -(连字符)。
SELECT CHARINDEX(' ','kjhk wonderful', 1)
(返回 5)可以在我搜索“空格”时使用,但我对提到的任何一个符号都感兴趣,它首先出现。请问有什么想法吗?什么是正确的语法?
检查这个
SELECT PATINDEX('%[ _-]%','kjhk wonderful')
它很乱,所以很可能有一个更整洁的方法,但下面的方法会起作用。
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
请尝试使用PATINDEX (Transact-SQL):
SELECT PATINDEX('%[ _-]%', 'kjhk wonderful')