【发布时间】:2017-04-20 08:58:54
【问题描述】:
我有一个允许的值列表,例如:猫、老鼠、狗和鹦鹉。 现在我想有可能从这个列表中添加许多值到一个用分号 (;) 分隔的单元格中。
这意味着我可以添加:
猫;狗;鼠标
猫;鹦鹉
鼠标;猫
鹦鹉
但我不能添加
狮子;猫
鼠标;鹦鹉;狮子
猫;(这意味着我不能在末尾添加分号)
猫;鼠标;
;(这意味着我不能只添加分号) 我尝试使用此函数 regexp_like 编写约束,但这不能正常工作。
not REGEXP_LIKE (animal, '[^(the cat| the mouse |the dog|the parrot|; )]', 'i')
注意:animal 是我应用约束的列
【问题讨论】:
-
不要那样做。不要在单个列中存储由某个字符分隔的多个值。阅读数据库规范化。不要走这条路。
标签: sql regex oracle regexp-like