我正在处理一些数据库输入,并按字母和数字搜索数据。我使用LIKE显示字母,除了数字输入外,其他一切都很好。
SELECT * FROM `product` WHERE `name` LIKE `[0-9]%`
我使用的like通配符有什么错误吗?
注意:例如,我搜索的数据是"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')