2017-03-16 82 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 
相關問題