我必须使用SQL在表格中找到第一个四个数字的序列。
RVSP_040517.M
SERIES_040517_CP.TXT
SAUDE_O10N0505.M
SERIES_040517.txt
RVSP_080517.M
SERIES_080517_CP.TXT
正如我们所看到的,之前有一组数字,但第一组四个数字是我想要的。
我该怎么做?
我期望从这张表中得到的结果是:
0405
0405
0505
0405
0805
0805
我试图使用PADINDEX,但它没有工作
答案 0 :(得分:0)
使用" PADINDEX"你可能意味着PATINDEX
;使用此函数,您可以找到字符串中第一次出现模式的索引,这可以帮助您提取前四个连续数字:
SELECT (case when (PATINDEX('%[0-9][0-9][0-9][0-9]%', a)=0) then NULL else substring(a,PATINDEX('%[0-9][0-9][0-9][0-9]%', a),4) end) as digits
FROM (VALUES ('RVSP_040517.M'), ('SERIES_040517_CP.TXT'), ('SAUDE_O10N0505.M'), ('NO_4_DIGITS')) AS MyTable(a)