我的表中有10,001行,除了一行之外的所有行都以数字开头。我需要找到一行不以数字开头,或者甚至不包含数字。
所以这就是我所拥有的:
Select col1 from table1 where col1 not like '?%'
这是否接近?我需要找到没有数字的行...
谢谢!
更新:我使用的是sqlite数据库
答案 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)
SELECT * FROM table1 WHERE col1 > '9'
抓住第一个字符,看它是否为数字。
SELECT *
FROM table1
WHERE ISNUMERIC(SUBSTRING(col1,1,1)) = 0
答案 4 :(得分:0)
最简单的方法可能只是注意你没有使用数字;你正在使用碰巧有数字的字符串。在这种情况下,您可以
select * from table1 where col1 not between '0' and '9:';
(冒号是'9'后面的ASCII字符;这样就不会找到'9999999')。
它应该比其他一些建议便宜得多(例如,检查第一个字符的值)。