用于数据库列的数据类型

时间:2012-12-28 12:46:30

标签: sql-server sql-server-2008

我有一个人员表,其中包含名字和姓氏等字段。

这些列使用的最佳数据类型是什么,因为它们可以是任意长度。在这方面有经验法则吗?

我正在使用sql server 2008。

4 个答案:

答案 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),因为性能问题。

Ref1Ref2

答案 3 :(得分:1)

您可以使用Varchar(50)数据类型并将全名分为名字,中间名和l