文字列 sql 内の文字を検索するのに最適な関数は何ですか?
固定文字列内に文字が存在するかどうかを検索しようとしています。
たとえば、私は持っています:
1OF2. 040713 08:07 AM
'.'
そして、文字列の中にa があるかどうかを知りたいです。
文字列 sql 内の文字を検索するのに最適な関数は何ですか?
固定文字列内に文字が存在するかどうかを検索しようとしています。
たとえば、私は持っています:
1OF2. 040713 08:07 AM
'.'
そして、文字列の中にa があるかどうかを知りたいです。
使用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)