在字符串 sql 中搜索字符的最佳功能是什么?
我一直在尝试搜索固定字符串中是否存在字符。
例如我有:
1OF2. 040713 08:07 AM
我想知道'.'
字符串里面是否有一个。
在字符串 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
如果你想试试这个 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)