SQL LIKE用于数字搜索

时间:2013-07-23 06:07:20

标签: mysql sql sql-like

我正在使用一些数据库输入,通过字母和数字搜索数据。我正在使用LIKE显示alpha并且一切正常,除了数字输入。

SELECT * FROM `product` WHERE `name` LIKE `[0-9]%`

我使用的通配符中是否有任何错误?

注意:我搜索的数据示例如“99 T恤模型”所以基本上我只想从数字开始对所有名称进行排序,我不关心下一个字母。

1 个答案:

答案 0 :(得分:4)

通常,您不能将正则表达式与通配符混合使用。使用正则表达式,例如(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')