在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)