如何在varchar中找到5位数字?

问题描述 投票:1回答:3

基本上我只需要得到一个由空格分隔的5位数字。 5位数字可以在varchar中的任何位置。

示例:我在SQL 2008表中有一个包含此各种数据的varchar列

travel visa 34322 LLL001
Coffee 34332 Jakarta 
FDR001 34312 Taxi cost cash
taxi cash 34321
34556 eating dinner with customer
eating dinner 34256 with customer
visa cost 34221 REF773716637366

5位数字可以在任何地方用空格分隔,最好提取这个?

34322
34332
34312
34556
34256
34221

谢谢

像这样的行应该返回空白

Visa refNbr 778738878

尝试以下但没有运气

SELECT  pjtran.tr_comment 
,substring(pjtran.tr_comment,PATINDEX('%[0-9]%',pjtran.tr_comment),5)
,Left(SubString(pjtran.tr_comment, PatIndex('%[0-9.-]%', pjtran.tr_comment), 50),PatIndex('%[^0-9.-]%', SubString(pjtran.tr_comment, PatIndex('%[0-9.-]%', pjtran.tr_comment), 50) + 'X')-1)
,len(pjtran.tr_comment)-len(replace(pjtran.tr_comment,' ',''))

我想我需要使用计算varchar中空间数的组合。以上。但我不知道该怎么做

sql sql-server
3个回答
© www.soinside.com 2019 - 2024. All rights reserved.