2017-03-16 80 views
1

我想返回数据库中所有包含16位数字序列的字段。SQL - 返回所有包含未知数字序列的字段

喜欢的东西:

Select * From Table 
Where Column_1 LIKE '%----------------%' (where all - are numbers) 

这可能吗?

+4

是的。你使用的是什么RDBMS? –

+2

还提供样本数据和期望的结果。你正在寻找一个在字符串中的任何地方包含16个数字的字段,或者只包含16个数字的字段。 –

+1

@GordonLinoff“16个数字”〜“16位数字” –

回答

2

根据标准SQ1,您可以使用方括号([])指定一组字符。在您的情况下,溶液是wolud

Select * From Table 
Where Column_1 LIKE '[1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9] 
     [1-9][1-9][1-9][1-9][1-9][1-9]' 

使用该代码指定,有16个时间包括在1-9间隔,基本上一个字符(1,2,3,4,5,6,7,8-或9),重复16次表达式[1-9]。希望这可以帮到

3

请试试这个方法。

Select * From Table 
Where LEN(Column_1) = 16 

对于Numeric而言,只有您可以添加它。

Select * From Table 
Where LEN(Column_1) = 16 AND ISNUMERIC(Column_1) = 1 
相关问题