我想写一个简单的查询来查找','或';'的第一个匹配项在T-SQL中的字符串中。有没有简单的方法来做到这一点?
在其他数据库中,我会使用正则表达式,例如[,;],但这些在T-SQL中不可用。
我能想到的唯一解决方案是拥有一长串嵌套的if ... else语句,但这并不具有吸引力。
答案 0 :(得分:7)
尝试PATINDEX ...
select patindex('%,%', my_column)
from my_table
答案 1 :(得分:0)
我对T-SQL一无所知,但是看看微软的文档,似乎CHARINDEX
会发现第一次出现单个字符(或者实际上是任何字符串),你可以只调用它两次(一次用于,
,一次用于;
)并查看哪一个首先出现。请参阅:http://msdn.microsoft.com/en-US/library/ms186323%28v=sql.90%29.aspx。