SQL查询任务过滤掉行

时间:2018-02-16 03:56:55

标签: sql

解释 - 在“原始内容”栏中我有数据-MSH | ^〜\& | PYXIS | SJO | PHA | SJF1 | 201707171217 || ACK | 587044650 | P | 2.2 | 0 | MSA | AA | 587044650 | ....... b / w中每行的消息MSH数据不同,我需要搜索所有具有MSH | * | * | CACPA |的行。代替SJO,如上例所示.. *(astric)表示任何值 什么SQL查询应该是什么建议?

1 个答案:

答案 0 :(得分:2)

修复您的数据结构!您不应该在一列中存储多个值。相反,你应该有一个单独的表,每个颜色和每种颜色一行。这是使用关系数据库的正确方式。

也就是说,有时候我们会遇到其他人非常糟糕的设计决策。有一种解决方法:

where concat('|', colors, '|') not like '%|Red|%'