我在用户上有一个SQL表,其中特定帐户标有国家/地区代码(大写2个字母单词),而标签中的其他子字符串(全部用逗号分隔)是小写字母或长度超过2个字母。
在用户表中 例如:
id User_tags
1 alu,US,ATD
2 GB,xx
3 ol,tuds,FR
用户1,2和3被标记到美国,GB和FR国家/地区,我需要从user_tags列中提取它们。我知道需要正则表达式函数,但我无法使它们在SQL查询中工作。
答案 0 :(得分:0)
创建国家/地区代码参考表并使用以下内容加入。我没有打开sqlserver,所以无法仔细检查语法,但它应该可以工作。
Select *
From yourtable y left join refcountry r
On charindex (r.code+’,’,y.string+’,’)>0
请注意,对于大型数据集来说,这可能会很慢
如果不是sqlserver在你的rdbms中找到charindex的equiv函数