0

我有兴趣从字符串中查找字符索引,其中字符是空格或 _(下划线)或 -(连字符)。

SELECT CHARINDEX(' ','kjhk wonderful', 1)

(返回 5)可以在我搜索“空格”时使用,但我对提到的任何一个符号都感兴趣,它首先出现。请问有什么想法吗?什么是正确的语法?

4

3 回答 3

4

检查这个

SELECT PATINDEX('%[ _-]%','kjhk wonderful')
于 2013-04-17T11:18:56.403 回答
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
于 2013-04-17T11:18:56.303 回答
0

请尝试使用PATINDEX (Transact-SQL)

SELECT PATINDEX('%[ _-]%', 'kjhk wonderful') 
于 2013-04-17T11:18:56.940 回答