2011-12-29 37 views
1

我在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 = ???? 

回答

0
SELECT * FROM table_name WHERE file-id REGEXP '^32' OR file-id REGEXP '^46'; 
+1

正則表達式比喜歡更貴,而不是引用'文件id'將最有可能意味着查詢被解釋爲從「文件」中減去「id」(即,可能是無效的查詢)。 – pgl 2011-12-29 10:09:16

2

這應該工作:

SELECT * FROM TABLE WHERE 'file-id' LIKE '32-%' OR 'file-id' LIKE '46-%'; 
0

嘗試:

SELECT * FROM table_name WHERE file-id REGEXP '^(32|46)'; 
+1

REGEXP比LIKE更加昂貴,並且不引用'file-id'很可能意味着查詢被解釋爲從「file」中減去「id」(即可能是無效查詢)。 – pgl 2011-12-29 10:08:47