SQL查询帮助!!我正在尝试选择不以数字开头的行

时间:2010-11-16 02:13:32

标签: sql sqlite sql-like

我的表中有10,001行,除了一行之外的所有行都以数字开头。我需要找到一行不以数字开头,或者甚至不包含数字。

所以这就是我所拥有的:

Select col1 from table1 where col1 not like '?%'

这是否接近?我需要找到没有数字的行...

谢谢!

更新:我使用的是sqlite数据库

5 个答案:

答案 0 :(得分:5)

使用:

SELECT col1
  FROM table1 
 WHERE SUBSTR(col1, 1, 1) NOT BETWEEN 0 AND 9

参考:

答案 1 :(得分:3)

在Sql Server上,

Select * From table
Where col1 Like '[^0-9]%'

编辑:不知道SQLLIte上是否存在等效项,

但这会奏效......

Select * From table
Where col1 Not Like '0%' 
   And col1 Not Like '1%'
     ...
   And col1 Not Like '9%'

答案 2 :(得分:0)

code project中有一个帖子允许您将Regex与Ms SQL一起使用。

希望得到这个帮助。

答案 3 :(得分:0)

@Dueber让我思考,你不能这样做吗?

SELECT * FROM table1 WHERE col1 > '9'

抓住第一个字符,看它是否为数字。

SELECT *
FROM   table1
WHERE  ISNUMERIC(SUBSTRING(col1,1,1)) = 0

SUBSTRING

ISNUMERIC

答案 4 :(得分:0)

最简单的方法可能只是注意你没有使用数字;你正在使用碰巧有数字的字符串。在这种情况下,您可以

select * from table1 where col1 not between '0' and '9:'; 

(冒号是'9'后面的ASCII字符;这样就不会找到'9999999')。

它应该比其他一些建议便宜得多(例如,检查第一个字符的值)。