是否可以在SQL Server中存储格式化文本?

时间:2016-09-10 02:19:06

标签: sql-server text formatting

例如,我想在表格中插入这样的内容,并保留文本的格式属性以供日后检索:

实施例

**This** is a *sentence*.

另外,如果字母的大小改变了它还能用吗?

2 个答案:

答案 0 :(得分:3)

要存储格式,需要有某种标记。 HTML可能有效。如果这将在浏览器中显示,请清理该值以避免任何可能的安全问题。

如果使用HTML,则文字存储值可能为:

<strong>This</strong> is a <i>sentence</i>

编辑:注意到WPF标记,它与HTML具有不同的格式标记。这个想法仍然是一样的。

<Bold>This</Bold> is a <Italic>sentence</Italic>

Edit2:不确定为什么删除了WPF标记并且&#34;格式化了#34;例子在问题中被改变了,哈哈。 Stack Overflow似乎是一个奇怪的地方。

由于它已被提出,是的,带有标记的文本不是纯粹的关系数据,因此理论上它在关系数据库中没有业务。

然而,实际上,有些情况下,以另一种方式存储格式将是违反直觉/代价高昂的(内容管理系统带有修改动态数据的富文本框):

所以,只要开发人员知道后果是什么,它没有被严重和盲目地使用(在数据库而不是文件中抛出静态/永不改变的内容),它就可以被使用,并且他/她得到了来自他/她友好的邻居DBA的祝福。

答案 1 :(得分:0)

将其存储为NVARCHAR,它将保留您插入的内容。如果按大小你的意思是长度不是像FONT SIZE那样,那么这受到你设置的列的大小的限制。 8000个字节是NVARCHARVARCHAR的最大值NVARCHAR(MAX)NVARCHAR(4000)

任何视觉格式,如字体类型,字体大小,颜色,重点等都应由前端应用程序处理。记住SQL Server存储数据......它不是GUI。因此,存储HTML或CSS格式是不好的做法,并不是它的目的。