【发布时间】:2018-04-19 22:01:38
【问题描述】:
我有一个关于用户的 SQL 表,其中特定帐户用国家代码(大写的 2 个字母单词)标记,而标记中的其他子字符串(全部用逗号分隔)要么是小写字母,要么是超过 2 个字母长。
在用户表中 例如:
id User_tags
1 alu,US,ATD
2 GB,xx
3 ol,tuds,FR
用户 1,2 和 3 被标记到国家 US、GB 和 FR,我需要从 user_tags 列中提取它们。我知道需要正则表达式函数,但我无法让它们在 SQL 查询中工作。
【问题讨论】:
-
永远不要将数据存储为逗号分隔的项目 - 这只会给您带来很多麻烦。
-
您使用的是哪个 dbms? (答案可能是特定于产品的。)
-
使用应用程序代码(PHP、Java 等)定位 2 个大写字母标签。 SQL,如果可能的话,是非常笨拙的。下次别这样隐藏了。