SQL何时使用哪种数据类型
嗨,我想知道什么时候应该使用不同的数据类型。在我的表中,我如何决定使用哪个:nvarchar、nchar、varchar、varbinary等 示例: 我会用什么做一个。。。专栏:SQL何时使用哪种数据类型,sql,types,Sql,Types,嗨,我想知道什么时候应该使用不同的数据类型。在我的表中,我如何决定使用哪个:nvarchar、nchar、varchar、varbinary等 示例: 我会用什么做一个。。。专栏: Phone number, Address, First Name, Last Name, Email, ID number, etc. 谢谢你的帮助 以n开头的数据类型意味着它可以用于unicode字符。。。例如,女巫 选择整数也很有趣 我使用的最常见的数据类型是varchar Varchar、Integer
Phone number,
Address,
First Name, Last Name,
Email,
ID number,
etc.
谢谢你的帮助 以n开头的数据类型意味着它可以用于unicode字符。。。例如,女巫 选择整数也很有趣
我使用的最常见的数据类型是varchar Varchar、Integer和Bit占我日常使用的99%。N*数据类型(NVARCHAR、NCHAR、NTEXT)用于Unicode字符串。它们占用的空间是其“普通”挂件(VARCHAR、CHAR、TEXT)所需空间的两倍,但它们可以存储Unicode而无需转换和可能的保真度损失 文本数据类型可以存储几乎无限量的数据,但它们的性能不如CHAR数据类型,因为它们存储在记录之外 VARCHAR数据类型的长度可变。它们的结尾将不填充空格,但它们的字符悬垂将填充空格(一个字符(20)总是有20个字符长,即使它只包含5个字母。其余15个将是空格)
二进制数据类型用于二进制数据,无论您想存储到其中什么(图像是一个主要示例)。这个问题实际上取决于您的需求。我知道这不是一个特别令人满意的答案,但这是真的 n..char数据类型用于Unicode数据,因此如果需要在数据中使用Unicode字符集,则应使用这些类型,而不是其“非n”类似类型。nchar和char类型是固定长度的,nvarchar和varchar类型可以具有可变长度,这将影响磁盘和内存中列的大小。一般来说,我会说使用的类型使用最少的磁盘空间,但适合您的需要
有指向这些SQL Server 2005数据类型的Microsoft说明的链接,其中许多为何时使用哪种类型提供了指针。您可能对char和varchar类型特别感兴趣。一般来说,如果我不打算对其进行算术运算,我不会将任何内容定义为“数字”字段,即使数据本身是数字
“phone”字段就是一个例子。我将其定义为varchar。其他人给出了很好的一般性答案,但我要补充一个要点:在使用
varchar()
s(我建议用于这些类型的字段)时,确保使用足够大的长度,以满足任何合理的值。例如,我通常为名称、电子邮件地址、域名、城市名称等声明VARCHAR(100)
,为URL或街道地址声明VARCHAR(200)
这比你通常需要的要多。事实上,对于几乎所有这些值,30个字符就足够了(除了全名,但是一个好的数据库应该总是分别存储名字和姓氏),但总比将来某一天必须更改数据类型要好。为VARCHAR
指定一个高于必要长度的长度几乎没有成本,但请注意VARCHAR(MAX)
和TEXT
确实会带来很大的开销,因此仅在必要时使用它们
这里有一篇文章指出了一种情况,超过必要的VARCHAR
长度会影响性能:。这表明一切都是有代价的,尽管一般来说我还是喜欢longVARCHAR
s