如何在T-SQL中查找第一个出现的一个字符序列

时间:2012-02-08 23:05:29

标签: sql sql-server tsql

我想写一个简单的查询来查找','或';'的第一个匹配项在T-SQL中的字符串中。有没有简单的方法来做到这一点?

在其他数据库中,我会使用正则表达式,例如[,;],但这些在T-SQL中不可用。

我能想到的唯一解决方案是拥有一长串嵌套的if ... else语句,但这并不具有吸引力。

2 个答案:

答案 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