【发布时间】:2018-04-09 14:01:38
【问题描述】:
好的,我有一堆数据,所有这些数据都包含文本中的代码,但格式不正确,例如:
Well at Wallgreens 常规强度抗酸剂液体(氧化铝镁二甲硅油抗酸剂和抗气体)薄荷 a)12 盎司瓶 (NDC 0363-0073-02) b) 26 盎司瓶 (NDC 0363-0073-26) 由 Walgreens CO 分销200 Wilmot Rd 迪尔菲尔德 IL 60015
IDPN(透析中肠外营养 - 添加氨基酸的透析液)a) 490mL 袋 b) 500mL 袋和 c) 590mL 袋 Pentec Health Inc 4 Creek Parkway Suite A Boothwyn PA 19061-3132
Aminosyn-PF(氨基酸)7% 无亚硫酸盐 500 mL 袋 仅限 Rx Hospira Inc Lake Forest IL 60045 NDC:0409-4178-03 条形码 (01) 0 030409 417803 5
我只对格式如下的 8-9 位数字感兴趣:
xxxx-xxxx 或 xxxxx-xxxx
我目前通过以下方式选择了这些条目:
WHERE [Product Description] LIKE '%[0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]%' OR [Product Description] LIKE '%[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]%'
但我想输出它匹配的字符串,而不是整个产品描述,只输出它找到的代码,例如:
0363-0073
19061-3132
0409-4178
【问题讨论】:
-
在您向我们展示的示例文本中,我实际上没有看到任何匹配项。这是意外吗?
-
0363-0073-02 是 0363-0073 的匹配项 我对仅前 8/9 的尾随 3 个字符不感兴趣
-
是否要从同一文本中提取多个值?
-
也许我不确定目前有 5000 个结果需要分析,所以很可能一对夫妇可能有多个代码,因此选择多个值可能会在此任务中帮助我更进一步
标签: sql-server string pattern-matching sql-like