MySQL隱藏換行符的處理

 (1)在設計數據庫字段的時候,把須要獲取手機號的字段設置爲int(11),原意是要取11位數的,結果發現全部的手機號碼,都變成了2147483647 ,頓時以爲很奇怪,覺得是程序有問題,最後發覺是數據庫設計的問題。由於有符號整數的最大值爲 2147483647,因此最後決定把數據庫的結構變化下,把int(11)變爲char(11)才搞定。 php

 
(2)數據庫中有幾個字段的值老是有換行符存在,經過phpmyadmin進行搜索,接着經過update dbName set field = REPLACE(field,"\n",""),替換了換行符後,在把數據經過CVS導出的時候,數據的值仍是換行了,百思不得其解。而後我在打算經過sql導出部分數據進行測試的時候,結果發現問題了,隱藏的換行符是\r,因此當你的字段值的最後一個字符是\r時,好比你的field的值看起來是"abc",,select * from dbName where field='abc',你會發覺怎麼也搜索不到,必需要使用select * from dbName where field like 'abc%',才能夠找到。這個時候你須要用
 
update dbName set field = REPLACE(field,"\r",""),而後你就能夠使用select * from dbName where field='abc'搜索到相應的記錄了。 
 
From: http://blog.csdn.net/jallin2001/archive/2010/02/08/5298011.aspx
 
注:函數必須大寫REPLACE
相關文章
相關標籤/搜索