在MySQL中搜索包含新行的文本

时间:2016-05-24 12:01:24

标签: mysql

我有一个存储大量产品的MySQL表。由于一些错误,我添加了一些新产品名称。我需要找到它们。波纹管查询未列出所有预期数据。

SELECT * FROM `products` WHERE `product_name` REGEXP "\r\n";

6 个答案:

答案 0 :(得分:2)

它取决于您使用的新线路。 不同的文本编辑器程序使用不同的方式来编写新行。

尝试仅使用“\ n”或“\ r”和“\ n”的组合。

对我来说,这是:

  SELECT * FROM `products` WHERE `product_name` REGEXP "\n";

答案 1 :(得分:2)

行分隔符将OS改为OS,即\n(Linux和MacOS X),\r(MacOS 9及更早版本)和\r\n(Windows))。

所以你可以尝试下面的话:

SELECT * FROM `products` WHERE `product_name` REGEXP "\n" OR `product_name` REGEXP "\r";

答案 2 :(得分:1)

尝试

SELECT * FROM `products` WHERE `product_name` REGEXP "\n" or `product_name` REGEXP "\r";

答案 3 :(得分:1)

http://sqlfiddle.com/#!9/f74000/2

SELECT * FROM `products` WHERE `product_name` REGEXP "\n";

在大多数情况下应该有效

答案 4 :(得分:0)

以下选择查询必须适合您

SELECT * FROM `products` WHERE `product_name` REGEXP "[\n\r]";

答案 5 :(得分:0)

SELECT * FROM `products` WHERE `product_name` LIKE '%\\n\\r%';

我来自Oracle背景,发现这种形式更容易(它对Aws上的MySql 5.6有用) 希望这可以帮助将来绊倒这里的人:)