我正在使用某些數據庫輸入,通過字母和數字搜索數據。我正在使用LIKE顯示alpha,除了數字輸入外,一切都很好。用於數字搜索的SQL LIKE
SELECT * FROM `product` WHERE `name` LIKE `[0-9]%`
在我使用的通配符中是否有任何錯誤?
請注意:我正在搜索的數據是「99 T恤模型」的示例,所以基本上我只想將所有名稱以數字開頭,我不關心下一封信。
我正在使用某些數據庫輸入,通過字母和數字搜索數據。我正在使用LIKE顯示alpha,除了數字輸入外,一切都很好。用於數字搜索的SQL LIKE
SELECT * FROM `product` WHERE `name` LIKE `[0-9]%`
在我使用的通配符中是否有任何錯誤?
請注意:我正在搜索的數據是「99 T恤模型」的示例,所以基本上我只想將所有名稱以數字開頭,我不關心下一封信。
通常,您不能將正則表達式與通配符混合使用。使用正則表達式,例如(Oracle版本):
select *
from Product
where RegExp_Like(name, '^[0-9]') --<- Oracle version, see your DBMS regexp format, cause regular expressions are DBMS dependent
-- Oracle: RegExp_Like(name, '^[0-9]')
-- MySql: `name` REGEXP '^[0-9]'
或純等,子串,比較等
select *
from Product
where (name >= '0') and (name <= '9')
我猜這是MySQL而不是Oracle。 – Phil
對於MySql,正則表達式是('name' REGEXP'^ [0-9]') –
'LIKE = REGEXP'!。 – Wrikken