2014-09-23 60 views
2

我有一个sql列,它使用字母和数字代码4位数字代码。我的问题是如何做,我选择该列中以数字开头的所有行。从sql号码列中区别选择

示例数据将是:

Codes 
afif 
eafea 
5fea 
6few 
cesa 
25aa 

我要选择行5fea,6few,25AA

我试着做一些像

select 
    left(Codes,4) 
from tableX 
where year = 2013 
    and Codes between 1 and 9 
+0

你是什么模式?更从左边修复了多少位数 – 2014-09-23 18:55:46

回答

6

如果你只是想获得所有以任何数字开始,你可以尝试

SELECT Codes FROM tableX where Codes LIKE '[0-9]%' 

请参阅从docs

+0

我刚刚尝试过,仍然因为某种奇怪的原因而得到了U's和B's – 2014-09-23 18:58:40

+0

您是否认为您的字符串是以U或B开头的? – Hamatti 2014-09-23 19:00:14

+0

@TroyBryant不会返回值*开头*与U或B.你增加了额外的百分比吗? – 2014-09-23 19:00:47

1

这应该工作:

SELECT Codes FROM TableX WHERE LEFT(Codes, 1) LIKE '[0-9]' 

Basicall y Codes的第一个字符必须在0到9范围内才能返回。