SQLのような逆クエリ

LOCATE 関数の
パラメータ:

substr -- クエリする文字列

str_フィールド名

pos -- 検索開始位置

戻り値:

str 内の最初の substr を返します。そうでない場合は 0 を返します。

PS: MySQL 4.0 では、パラメータがバイナリ文字列の場合、大文字と小文字が区別されます。

構文:

LOCATE(部分文字列,文字列)

SELECT LOCATE('bar', 'foobarbar'); //結果: 4
SELECT LOCATE('xbar', 'foobar'); //結果: 0
LOCATE(substr,str,pos)

位置 pos から始まる、文字列 substr 内で最初に出現する部分文字列の str 位置を返します。0 substr が存在しない場合は、str が返されます。substr または str が NULL の場合は NULL を返します。

注: 2 番目に出現した位置を表示するには、pos は最初に出現した位置より大きくなければなりません

SELECT LOCATE('bar', 'foobarbar', 5); //結果: 7が最初の出現位置 (5) 以下の
場合でも、戻り値は最初の出現位置のままです

POSITION()
パラメータ:

substr -- クエリする文字列

str_フィールド名

戻り値:

クエリされた文字列内で最初にクエリされる文字列の位置を返します (locate の使用法と同じで、多くの情報を確認した後、position はlocate のエイリアスです)

substr 文字列が str 内に出現する位置を返し、そうでない場合は 0 を返します。

使用法:

POSITION(substr IN str)

SELECT POSITION('cn' IN 'aaaaacn'); //結果: 6
INSTR()
戻り値:

クエリされた文字列内でクエリされる文字列が最初に出現する位置を返します。これは、引数の順序が逆であることを除いて、LOCATE() の 2 引数形式と同じです。

構文:

INSTR(str,substr)

substr 文字列が str 内に出現する位置を返し、そうでない場合は 0 を返します。

SELECT INSTR('aaaacom','com'); //結果: 5
FIND_IN_SET()
はコレクション内のインデックス位置を返します (垂直展開)

構文:

FIND_IN_SET(str,strlist)

strlist コレクション内の str1 のインデックス位置を返します。

SELECT FIND_IN_SET('demo.com.cn',t.str) FROM `table` t;
IN()
戻り値:

セット内のインデックス位置を返します (FIND_IN_SET と同じ)

構文:

str IN (strlist)

strlist コレクション内の str1 のインデックス位置を返します。

SELECT 'demo.com.cn' IN(t.str) FROM 'table` t;
LIKE は
類似した (あいまいな) 文字のセットを返します

%str% のように

str に類似したコレクションを返します
-----------------------------------
©著作権は作者に帰属します: from 51CTOブログ 著者のオリジナル作品 A Wu Di Network Studio、著者に連絡して転載許可を取得してください。そうでない場合、法的責任を負います。 文字列が指定されたフィールドにあるかどうかを判断する SQL メソッド 概要 https
:
//blog.51cto .com/u_15275953/5131282

おすすめ

転載: blog.csdn.net/qq_30346433/article/details/129072360