一尘不染

选择查询| 选择不是以数字开头的企业-MySQL

sql

我需要选择所有不以1-9之间的数字开头的条目。

条目示例

  • 6300 Dog Lane
  • Kitty Drive
  • 500 Bird Chrest
  • 800 Tire Road
  • Johnson Ave
  • Park Ave

因此,如果我对上述内容进行查询,我会期望

  • Kitty Drive
  • Johnson Ave
  • Park Ave

表被调用objects,列被调用location

我尝试过的东西

SELECT DISTINCT name, location FROM object WHERE location NOT LIKE '1%' OR '2%' OR '3%' OR '4%' OR '5%' OR '6%' OR '7%' OR '8%' OR '9%';

不幸的是,那是不成功的。如果无法做到这一点,请告诉我,我将使用Perl修改数据。

谢谢你


阅读 130

收藏
2021-05-23

共1个答案

一尘不染

试试这个:

SELECT DISTINCT name, location FROM object
       WHERE substring(location, 1, 1)
                  NOT IN ('1','2','3','4','5','6','7','8','9');

或者您必须NOT LIKE在每个数字之前添加:

SELECT DISTINCT name, location FROM object
       WHERE location NOT LIKE '1%'
          OR location NOT LIKE '2%'
          ...
2021-05-23