我需要从SQL列中仅选择特定模式。它是一个XML类型的列,但它没有格式化为XML。以下是一个记录可能包含在字段中的示例:
taSopDistribution
i 3
s W-13-I73516502
:d:
i 7
:d:
:d:
s 60-99-9999-99-20950-00
m 0
m 5.8800
s W-13
:d:
:d:
:d:
:d:
:d:
:d:
s 60-99-9999-00-60950-00
我需要能够查询此字段并仅选择遵循此模式的数据:##-##-####-##-#####-##
,并且会有多个匹配。
例如,我需要一个从上面的示例数据字段返回以下值的查询:
60-99-9999-99-20950-00
60-99-9999-00-60950-00
对此的任何帮助将不胜感激!仅供参考,我使用的是SQL Server 2012
答案 0 :(得分:0)
这可以解决问题:
SELECT substring(taSopDistribution,5,len(taSopDistribution)-5)
FROM Table1
WHERE taSopDistribution
LIKE '%-__-____-__-_____-__'
<强>结果:
| COLUMN_0 |
|-----------------------|
| 60-99-9999-99-20950-0 |
| 60-99-9999-00-60950-0 |
参见 SQLFIDDLE