1

MISCDATA在数据库中有一个文本列 ( ),其中包含多个数值和字符串值,用逗号和分号分隔。有没有办法构建查询以仅选择MISCDATA包含大于 50 的数字的行(示例)?

我想到了 FIND_IN_SET() 的使用,但我无法将它放在正确的上下文中。

SELECT * FROM Mytable WHERE FIND_IN_SET('NUMBER BIGGER THAN 50', MISCDATA);

我不知道我是否正确地解释了自己,无论如何,所有的帮助都会得到赞赏。谢谢。

编辑:

来自该领域的一些示例数据:

MA, 22; HR, 42; HG, 29; JW, 44; MI, 76; GJ, 56;

上面的示例应该由 SELECT 列出,因为它包含 2 个大于 50 的数字(MI 和 GJ)。

4

1 回答 1

-1

一个解决方案是使用REGEXP

SELECT * FROM Mytable WHERE REGEXP '@yourRegexToWrite'. 

工作是写一个好的正则表达式......

于 2014-07-24T10:01:22.440 回答