我有一个存储大量产品的MySQL表。由于一些错误,我添加了一些新产品名称。我需要找到它们。波纹管查询未列出所有预期数据。
SELECT * FROM `products` WHERE `product_name` REGEXP "\r\n";
答案 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有用) 希望这可以帮助将来绊倒这里的人:)