2017-01-10 30 views
-1

我只需要那些至少有一組5個連續數字的結果。 這是我原來的查詢列出具有5個連續數字的列中的所有值,它可以在該序列之前或之後有其他任何字符

SELECT [Field]  
    FROM [testPackage].[dbo].[Table_1] 
    where Field like '%[0-9]{5}%' 

下面是桌子

Field 
--------------------- 
fhjsfh4324kjkjk 
45654rewrwejug 
g,nerht54535fjklrejltkj 
fhdjfhjh425435 
hjlwrjtljr424556fslfj 
kljrkj67587598347rerjwlej 
esd980rewrkw456 

查詢應該只列出

45654rewrwejug485345 
g,nerht54535fjklrejltkj 
+1

您的示例不符合說明 –

+0

嗨請閱讀本部分 如果字符串有5個連續數字以及6個連續數字,則可以在此結果中列出。 如果你有什麼問題,請重新說明相同的問題 –

+0

7個連續數字怎麼辦?這是否會失去一項記錄的資格,還是可以接受? –

回答

-1

只是繼續在你已經前進的方向,並重復[0-9] 5時間順序在LIKE表達式中:

SELECT * 
FROM [testPackage].[dbo].[Table_1] 
WHERE Field LIKE '[0-9][0-9][0-9][0-9][0-9][a-zA-Z,]' OR 
     Field LIKE '[a-zA-Z,][0-9][0-9][0-9][0-9][0-9][a-zA-Z,]' OR 
     Field LIKE '[a-zA-Z,][0-9][0-9][0-9][0-9][0-9]' AND 
     Field NOT LIKE '%[0-9][0-9][0-9][0-9][0-9][0-9]%' 
+0

因爲它會給我連續超過5位的結果 –

+0

@SanuAntony你在預期的結果集中列出了這個:'45654rewrwejug485345' ...後半部分包含一個六位數字。請在這裏解釋你想要的。 –

+0

但是,至少有一次是正確的,請參閱第一部分 –

相關問題