用MySQL函數消除字符串首尾空白字符的辦法。本站提示廣大學習愛好者:(用MySQL函數消除字符串首尾空白字符的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是用MySQL函數消除字符串首尾空白字符的辦法正文
成績:短信息審核的時刻,會依據內容來停止斷定,好比a內容可以經由過程,b內容不克不及經由過程,則MySQL中表示為 msg = a,msg = b,可是假如msg字段的內容中包括回車換行等空白字符(最多見的是內容開首和末尾湧現換行),則比對就不勝利,形成短信息審核不勝利。
因為內容拔出的時刻沒方法停止完整的過濾,所以審核這裡就常常出成績,弄的頭年夜,而MySQL的trim函數沒方法去失落回車和換行,只能去失落過剩的空格,明天研討了一下MySQL的函數,replace函數,終究處理失落了這個成績,詳細處理方法以下:
假定想要審核數據庫中內容為“我愛你
”的短信息(留意內容後有換行)經由過程(status轉變成1)
之前的SQL語句是不起感化的
UPDATE `tran`
SET `status` = '1'
WHERE `msg` = '我愛你';
修正以後的語句
UPDATE `tran`
SET `status` = '1'
WHERE trim( replace( `msg`, '\r\n', ' ' ) ) = '我愛你';
把數據中的回車換行等調換成空格以後再trim失落,就到達目標了,固然不是特殊完善,然則因為沒方法在用戶錄入的時刻掌握,所以只能出此下策,好在MySQL內置函數的效力照樣很有包管的。
更新(15:50):
UPDATE `tran`
SET `status` = '1'
WHERE trim( trim(
BOTH '\r\n'
FROM content ) ) = '我愛你'
用了兩個trim,如許的利益是不會調換內容中央的換行和回車,只會處置頭尾的空格換行回車,相當於php中trim函數的感化了。
附:replace 用法
1.replace into
replace into table (id,name) values('1','a'),('2','b');
此語句的感化是向表table中拔出兩筆記錄。
2.replace(object, search,replace)
把object中湧現search的全體調換為replace
select replace('www.qq.com', 'q', 'Y');
上例輸入成果 www.YY.com
注:trim和replace函數具體的用法請檢查MySQL手冊。
作者:躍龍雜記