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