2

文字列 sql 内の文字を検索するのに最適な関数は何ですか?

固定文字列内に文字が存在するかどうかを検索しようとしています。

たとえば、私は持っています:

1OF2. 040713 08:07 AM

'.'そして、文字列の中にa があるかどうかを知りたいです。

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 に答える