如何trim text from SQL Server select statement for text 由两个字母和五个数字组成?

How to trim text from SQL Server select statement for text consisting of two letters and five digits?

我想写一个select查询来只输出包含两个字母和五个数字的文本。

数据类型为varchar(max)

每一列可能包含多个这些数字,也可能包含许多其他文本。服务器是 SQL Server 2012。

示例数据 1:

Reg.nr: AA11111, Dette er et teksttekst pa et test abonnement.
Referanse: Faktura 2222222222, Beløp: 1572.91,
Referanse: Purregebyr, Beløp: -64.00.

12.12.12 13:00:00 AAA
Utring ingen svar

18.12.14 18:00:00 BBB
tekst tekst tekst

14.01.15 15:00:00 CCC
tekst tekst tekst

示例数据 2:

text text text
AA11111 text,
BB22222 text,
text text

期望的输出:

Sample data 1: AA11111
Sample data 2: AA11111, BB22222

试试这个:

SELECT 
    SUBSTRING(col, PATINDEX('%[a-zA-Z][a-zA-Z][0-9][0-9][0-9][0-9][0-9]%', '' + col), 7)
FROM TEST
WHERE PATINDEX('%[a-zA-Z][a-zA-Z][0-9][0-9][0-9][0-9][0-9]%', '' + col) <> 0

这里是 SQLFiddle 查询的工作原理。