选择查询| 选择不以数字开头的Entires - MySQL

Kir*_*gle 4 mysql sql select

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

示例条目:

  • 6300狗巷
  • 凯蒂驾驶
  • 500 Bird Chrest
  • 800轮胎路
  • 约翰逊大道
  • 公园大道

所以如果我对上面的内容进行了查询,我会期望:

  • 凯蒂驾驶
  • 约翰逊大道
  • 公园大道

调用表并调用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%';
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Avi*_*dan 10

您可以使用以下 stntax:

SELECT column FROM TABLE where  column NOT REGEXP '^[0-9]+$' ;


SELECT DISTINCT name, location FROM object
                WHERE location NOT REGEXP '^[0-9]+$' ;
Run Code Online (Sandbox Code Playgroud)


Jen*_*ens 7

试试这个:

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

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

SELECT DISTINCT name, location FROM object
       WHERE location NOT LIKE '1%'
          OR location NOT LIKE '2%'
          ...
Run Code Online (Sandbox Code Playgroud)


Soh*_*jee 5

试试这个,它更简单:-

SELECT DISTINCT name, location FROM object WHERE location NOT LIKE '[0-9]%';
Run Code Online (Sandbox Code Playgroud)

  • 我现在无法访问 MS SQL 数据库。我使用 Oracle SQL 服务器。这在 Oracle SQL 中不起作用,要在那里工作,你必须使用 regexp_like (3认同)