この SELECT in MS-SQL のように、MySQL で SELECT を書きたい
SELECT * FROM MyTable WHERE name='%Jack%'
そしてこの答え:
+--------+
| Jack |
+--------+
| Ajack |
+--------+
| jackA |
+--------+
| AJackA |
+--------+
MySqlでこれを行う方法は?
使用するLIKE
SELECT * FROM MyTable WHERE name LIKE '%Jack%'
また、データに大文字と小文字を区別する照合を使用する場合は、クエリでそれを変更できます
SELECT * FROM MyTable WHERE name LIKE '%Jack%' collate utf8_general_ci
SQLLIKE
句を%文字とともに使用すると、Unixではメタ文字(*)のように機能し、コマンドプロンプトですべてのファイルまたはディレクトリを一覧表示します。
%文字なしのLIKE
句は、等号と句に非常に似ていWHERE
ます。
構文:
次に、MySQLテーブルからデータをフェッチするためのSELECTコマンドの一般的なSQL構文とLIKE句を示します。
SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
あなたの場合使用
SELECT * FROM MyTable WHERE name LIKE '%Jack%'
公式ドキュメントを読むhttp://dev.mysql.com/doc/refman/5.0/en/select.html
あなたの働いたバリアントはSELECT * FROM MyTable WHERE name = 'Jack'
;
または、あなたの働いたバリアントはSELECT * FROM MyTable WHERE name LIKE '%Jack%';
名前と値を一致させるには、LOWERキーワードでLIKE演算子を使用します。
これを試して:
SELECT * FROM MyTable
WHERE LOWER(name) LIKE '%jack%';