1

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

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

我使用的类似通配符有什么错误吗?

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

4

1 回答 1

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') 
于 2013-07-23T06:16:43.577 回答