国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

用MySQL函數清除字符串首尾空白字符的方法

2020-01-19 00:10:09
字體:
來源:轉載
供稿:網友
問題:短信息審核的時候,會根據內容來進行判斷,比如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手冊。
作者:躍龍雜記
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵阳市| 新巴尔虎右旗| 梅河口市| 东海县| 电白县| 如东县| 日照市| 额敏县| 毕节市| 太谷县| 繁峙县| 甘谷县| 连山| 衡东县| 龙游县| 红原县| 茌平县| 杨浦区| 和顺县| 湛江市| 唐海县| 许昌县| 武威市| 屯留县| 延津县| 肇庆市| 石屏县| 城市| 连山| 益阳市| 巴彦县| 泽库县| 罗田县| 余姚市| 青铜峡市| 临沂市| 竹溪县| 竹溪县| 沁阳市| 临清市| 安宁市|