溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)中解決多換行符和回車符的方法

發(fā)布時(shí)間:2020-10-26 14:04:11 來(lái)源:億速云 閱讀:404 作者:Leah 欄目:開發(fā)技術(shù)

MySQL數(shù)據(jù)中解決多換行符和回車符的方法?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

如:庫(kù)中數(shù)據(jù)為:“換行符\n換行符\n換行符”,然后在界面通過如下SQL查詢,那自然是搜不到咯!

SELECT * from `LOL` where name = '換行符換行符換行符';

換行符:CHAR(10) = "\n"

回車符: CHAR(13) = "\r"

在MySQL中,回車符、換行符都屬于char類型,放到varchar中時(shí),在navcat等插件上是不顯示的,需要在mysql終端和navcat對(duì)比才能看出來(lái)(坑啊~)

navcat插件顯示如下:

MySQL數(shù)據(jù)中解決多換行符和回車符的方法

MySQL終端顯示如下:

(回車符\r還導(dǎo)致數(shù)據(jù)結(jié)果直接返回了,只顯示了一部分,MySQL你讓我說(shuō)你啥好😰😰)

mysql> select * from `LOL`;
+----+-------------------------------+-----------+-------+
| id | hero_title     | hero_name | price |
+----+-------------------------------+-----------+-------+
| 1 | D刀鋒之影      | 泰隆  | 6300 |
| 2 | X迅捷斥候      | 提莫  | 6300 |
| 8 | 換行符
換行符
換行符   | 換行符 | 450 |
回車符   | 回車符 | 450 |
+----+-------------------------------+-----------+-------+
4 rows in set (0.00 sec)

1、如何去掉換行符、回車符

如果條件允許,建議直接通過語(yǔ)句清除掉換行符和回車符,如下:

去除"hero_title"列中所有換行符 (通過以下兩種方式都可以)

-- 去除"hero_title"列中所有換行符 (通過以下兩種方式都可以)
update `LOL` set hero_title = REPLACE(hero_title, '\n', '');
update `LOL` set hero_title = REPLACE(hero_title, char(10), '');

– 去除"hero_title"列中所有回車符(通過以下兩種方式都可以)

-- 去除"hero_title"列中所有回車符
update `LOL` set hero_title = REPLACE(hero_title, '\r', '');
update `LOL` set hero_title = REPLACE(hero_title, char(13), '');

2、SELECT如何忽略"換行符、回車符"進(jìn)行查詢

如果條件不允許,比如客戶“很激動(dòng)”并向你吼道:不能動(dòng)庫(kù)里的數(shù)據(jù)!…我笑了~

那怎么辦呢?可以通過修改SQL來(lái)過濾掉換行符、回車符,但一定程度上會(huì)影響查詢效率,而且要改很多代碼,你懂得。

銘記魯迅先生說(shuō)的:哪里有壓迫,哪里就得有反抗!

示例如下:

-- 忽略掉換行符查詢
SELECT * from `LOL` where REPLACE(hero_title, char(10), '') = '換行符換行符換行符';
-- 忽略掉回車符查詢
SELECT * from `LOL` where REPLACE(hero_title, char(13), '') = '回車符回車符回車符';
-- 忽略掉換行符 & 回車符查詢
SELECT * from `LOL` where REPLACE(REPLACE(hero_title, char(13), ''), char(10), '') = '回車符回車符回車符';

3、經(jīng)驗(yàn)總結(jié)

類似的符號(hào)一般要求入庫(kù)時(shí)就清理掉,如果必須保留也建議用其他自定義標(biāo)識(shí)代替(如自創(chuàng)的唯一標(biāo)識(shí),我叫它大眼瞪小眼: o_O),后臺(tái)程序中做替換處理,免得影響到索引效率。

關(guān)于MySQL數(shù)據(jù)中解決多換行符和回車符的方法問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI