1

この SELECT in MS-SQL のように、MySQL で SELECT を書きたい

SELECT * FROM MyTable WHERE name='%Jack%'

そしてこの答え:

+--------+
| Jack   |
+--------+
| Ajack  | 
+--------+
| jackA  | 
+--------+
| AJackA |
+--------+

MySqlでこれを行う方法は?

4

4 に答える 4

4

使用するLIKE

SELECT * FROM MyTable WHERE name LIKE '%Jack%'

また、データに大文字と小文字を区別する照合を使用する場合は、クエリでそれを変更できます

SELECT * FROM MyTable WHERE name LIKE '%Jack%' collate utf8_general_ci

SQLFiddle デモ

于 2012-12-25T09:22:29.947 に答える
1

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%'
于 2012-12-25T09:26:48.367 に答える
1

公式ドキュメントを読むhttp://dev.mysql.com/doc/refman/5.0/en/select.html

あなたの働いたバリアントはSELECT * FROM MyTable WHERE name = 'Jack';

または、あなたの働いたバリアントはSELECT * FROM MyTable WHERE name LIKE '%Jack%';

于 2012-12-25T09:32:13.243 に答える
1

名前と値を一致させるには、LOWERキーワードでLIKE演算子を使用します。

これを試して:

SELECT * FROM MyTable
WHERE LOWER(name)  LIKE '%jack%';
于 2012-12-25T14:42:36.177 に答える