私はMySQLで、以下のデータを持っている:SQLクエリのフィールドに一部のデータを検索する
file-id
32-534
32-536
32-537
32-584
32-594
46-865
46-863
46-837
46-867
私は、32ビットまたは46-のいずれかですべてのデータを参加するために、SQLクエリを書きたいです。どうやってやるの?
Select * from TABLE WHERE file-id = ????
私はMySQLで、以下のデータを持っている:SQLクエリのフィールドに一部のデータを検索する
file-id
32-534
32-536
32-537
32-584
32-594
46-865
46-863
46-837
46-867
私は、32ビットまたは46-のいずれかですべてのデータを参加するために、SQLクエリを書きたいです。どうやってやるの?
Select * from TABLE WHERE file-id = ????
SELECT * FROM table_name WHERE file-id REGEXP '^32' OR file-id REGEXP '^46';
これは動作するはずです:
SELECT * FROM TABLE WHERE 'file-id' LIKE '32-%' OR 'file-id' LIKE '46-%';
試してみてください。
SELECT * FROM table_name WHERE file-id REGEXP '^(32|46)';
REGEXPはLIKEよりも高価であり、 'file-id'を引用していないと、おそらくクエリが" file "から" id "を減算していると解釈されます(おそらく無効なクエリ)。 – pgl
正規表現が好きよりも高価であり、およびファイルid'は、最も可能性が高いことを意味します '引用ませんクエリは "file"(つまりおそらく無効なクエリ)から "id"を減算するものとして解釈されます。 – pgl