[英]How to trim text from SQL Server select statement for text consisting of two letters and five digits?
I would like to write a select query to output only the text containing of two letters and five digits. 我想编写一个选择查询以仅输出包含两个字母和五个数字的文本。
The data type is varchar(max)
. 数据类型为
varchar(max)
。
Each column may contain more than one of these numbers and also may contain a lots of other text. 每列可能包含多个这些数字,也可能包含许多其他文本。 The server is a SQL Server 2012.
该服务器是SQL Server 2012。
Sample data 1: 样本数据1:
Reg.nr: AA11111, Dette er et teksttekst pa et test abonnement.
登记号:AA11111,Dette er et teksttekst pa et测试终止。
Referanse: Faktura 2222222222, Beløp: 1572.91,推荐人:Faktura 2222222222,贝洛普:1572.91,
Referanse: Purregebyr, Beløp: -64.00.推荐人:Purregebyr,贝洛普:-64.00。
12.12.12 13:00:00 AAA12.12.12 13:00:00 AAA
Utring ingen svarUtring ingen svar
18.12.14 18:00:00 BBB18.12.14 18:00:00 BBB
tekst tekst teksttekst tekst tekst
14.01.15 15:00:00 CCC14.01.15 15:00:00 CCC
tekst tekst teksttekst tekst tekst
Sample data 2: 样本数据2:
text text text
文字文字文字
AA11111 text,AA11111文字,
BB22222 text,BB22222文字,
text text文字文字
Desired output: 所需的输出:
Sample data 1:
AA11111
样本数据1:
AA11111
Sample data 2:AA11111, BB22222
样本数据2:
AA11111, BB22222
Try this: 尝试这个:
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
Here is a SQLFiddle with how the query works. 这是一个SQLFiddle,其中包含查询的工作方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.