我在mysql中的以下數據:SQL查詢來搜索一個場部分數據
file-id
32-534
32-536
32-537
32-584
32-594
46-865
46-863
46-837
46-867
我想要寫SQL查詢來爭取所有32位或46英寸的數據。我怎樣才能做到這一點?
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
我想要寫SQL查詢來爭取所有32位或46英寸的數據。我怎樣才能做到這一點?
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 2011-12-29 10:08:47
正則表達式比喜歡更貴,而不是引用'文件id'將最有可能意味着查詢被解釋爲從「文件」中減去「id」(即,可能是無效的查詢)。 – pgl 2011-12-29 10:09:16