我有一个人员表,其中包含名字和姓氏等字段。
这些列使用的最佳数据类型是什么,因为它们可以是任意长度。在这方面有经验法则吗?
我正在使用sql server 2008。
答案 0 :(得分:4)
I think it is highly unlikely someone to have a Firstname or Lastname more than 50 characters.
具有Unicode字符的字符串类型的数据类型为NVARCHAR
,您可以将它们都限制为50 or even 100
做出很大的改变。
所以你可以说
Firstname nvarchar(50)
Lastname nvarchar(50)
答案 1 :(得分:2)
使用NVARCHAR(N)
,其中N
是您希望为该字段支持的最大字符数。
如果您希望自己永远不会拥有国际名称(比如中文,日文,希伯来文和其他文字),请使用VARCHAR(N)
。
这些是可变长度字段,适用于可变长度的字符串数据。
答案 2 :(得分:1)
如果任何长度可以为NVarchar加入4000或为Varchar加入8000,则可以使用(N)Varchar(max)。 但是如果这个不同,你应该更喜欢(N)Varchar(Yourlimit),因为性能问题。
答案 3 :(得分:1)
您可以使用Varchar(50)数据类型并将全名分为名字,中间名和l