在字符串中搜索字符的最佳函数



在sql字符串中搜索字符的最佳函数是什么?

我一直在尝试搜索一个固定字符串中是否存在一个字符。

例如:

1OF2. 040713 08:07 AM

我想知道字符串中是否有'.'

使用like:

select col like '%.%'

它是标准的SQL, SQL Server在查询引擎中内置了一些很好的优化来处理它。

编辑(回复评论):

获取字符串的第一部分有点不同。在这种情况下:

select (case when col like '%.%' then left(col, charindex('.', col) - 1)
             else col
        end)

CHARINDEX也可用。使用CHARINDEX并与0(未找到)进行比较。例如:

SELECT *
WHEN CHARINDEX('.',field) > 0

如果你想试试这个

declare @strings varchar(50)
select @strings ='1OF2. 040713 08:07 AM'
select (case when @strings like'%.%' then 
right(@strings, charindex('.', @strings) +10)     else @strings end)

最新更新