例如,我想在表格中插入这样的内容,并保留文本的格式属性以供日后检索:
实施例
**This** is a *sentence*.
另外,如果字母的大小改变了它还能用吗?
答案 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个字节是NVARCHAR
或VARCHAR
的最大值NVARCHAR(MAX)
或NVARCHAR(4000)
任何视觉格式,如字体类型,字体大小,颜色,重点等都应由前端应用程序处理。记住SQL Server存储数据......它不是GUI。因此,存储HTML或CSS格式是不好的做法,并不是它的目的。