2

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

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

例如我有:

1OF2. 040713 08:07 AM

我想知道'.'字符串里面是否有一个。

4

3 回答 3

6

使用like

select col like '%.%'

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

编辑(回应评论):

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

select (case when col like '%.%' then left(col, charindex('.', col) - 1)
             else col
        end)
于 2013-06-20T01:45:13.990 回答
4

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

SELECT *
WHEN CHARINDEX('.',field) > 0
于 2013-06-20T01:50:09.887 回答
0

如果你想试试这个 040713 08:07AM

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)
于 2013-06-20T09:06:59.790 回答