每日一SQL-REPLACE

每日一SQL-REPLACE


又到了每日一SQL的时间,今天遇到一个有趣的问题

手上有一个项目,原先数据库有一字段是用来存网页内容的,但只有存纯文字

后台是直接用TextArea来编辑数据。

类似这样

55212518b6664bfb85189e45f18298e3

但是改版后呢,这个字段改成用文字编辑器来编辑,也就是说会连Html一起存进去

类似

b8175a505a664de6ab445501b418c0bc

所以新版网页直接输出字段数据,就已经排版好了。

但,我再将旧数据库的数据转档过去时,由于原先的字段并没有包含Html,以至于直接输出

在网页上,变成一坨一坨的,没有断行的文字,很难看

原先的数据在上传时虽然有断行

8b6b89674c3d4e46bd33afdbad656512

但在View上,由于Html不认得,因此变成

08ef4bb1fdc941a3a40b430402e5db28

一种办法是写程序来解决,但我认为这是数据的问题,所以就在数据库解决吧。

首先虽然眼睛看不到,但存到数据库的数据的确有换行符 参考 维基 ASCII

由参考数据得知 换行的的码数是10

所以我只要将char(10)换成Html的
就行了


先用select看看,有没有正确的替换

527e2876cfd54f438e6dfb4a174cfe9a

可以很清楚的看到,
出现了,确定了之后,就把字段更新吧。



set 字段名称 = REPLACE(字段名称, CHAR(10), '
')

更新完之后,就可以直接看结果啰

06560489a0d440a39654c40dac0359d0

这样该换行的就有换行,清楚多了。

附带一提,在MVC上要在View显是含有Html的数据,可用<%=Html.DisplayTextFor(p=>p.字段)%>

原文:大专栏  每日一SQL-REPLACE


猜你喜欢

转载自www.cnblogs.com/chinatrump/p/11458466.html