每日一SQL-REPLACE
又到了每日一SQL的时间,今天遇到一个有趣的问题
手上有一个项目,原先数据库有一字段是用来存网页内容的,但只有存纯文字
后台是直接用TextArea来编辑数据。
类似这样
但是改版后呢,这个字段改成用文字编辑器来编辑,也就是说会连Html一起存进去
类似
所以新版网页直接输出字段数据,就已经排版好了。
但,我再将旧数据库的数据转档过去时,由于原先的字段并没有包含Html,以至于直接输出
在网页上,变成一坨一坨的,没有断行的文字,很难看
原先的数据在上传时虽然有断行
但在View上,由于Html不认得,因此变成
一种办法是写程序来解决,但我认为这是数据的问题,所以就在数据库解决吧。
首先虽然眼睛看不到,但存到数据库的数据的确有换行符 参考 维基 ASCII
由参考数据得知 换行的的码数是10
所以我只要将char(10)换成Html的
就行了
先用select看看,有没有正确的替换
可以很清楚的看到,
出现了,确定了之后,就把字段更新吧。
set 字段名称 = REPLACE(字段名称, CHAR(10), '
')
更新完之后,就可以直接看结果啰
这样该换行的就有换行,清楚多了。
附带一提,在MVC上要在View显是含有Html的数据,可用<%=Html.DisplayTextFor(p=>p.字段)%>