如果我的字段包含很多值,例如
67495837431978432 ABC1234
和其他值
1234 Something Street
(我知道数据不应该是这样的。它不是我的数据库。无法更改。请忽略。)
如何仅返回在字段中具有前者这样的数据的记录?
我尝试过
where SUBSTRING(field, 1, 10) LIKE '%[0-9]%'
我的想法是,如果第一种类型的值以17个数字开头,而第二种类型是街道地址,其前10个字符包含许多字母,那么我应该能够检查前10个字符是否仅包含数字,并根据该字段返回该字段,而我应该只获取类似
的记录67495837431978432 ABC1234
如我所愿。不是最干净的,但是应该适合我的情况。但这没有用。我不明白为什么。我犯了一个我没有看到的错误吗?有没有一种相对简单的更好的方法?
答案 0 :(得分:0)
如果您使用的是SQL Server,并且要检查前十个字符是否为数字,则可以对字符类使用like
:
where field LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%'