在字符串sql中搜索字符的最佳功能?

时间:2013-06-20 01:44:23

标签: sql sql-server tsql

在字符串sql中搜索字符的最佳功能是什么?

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

例如我有:

1OF2. 040713 08:07 AM

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

3 个答案:

答案 0 :(得分:6)

使用like

select col like '%.%'

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

编辑(回应评论):

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

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:0)

如果您想要040713 08:07 AM

,请尝试此操作
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)