数据库经常用,有时可能大家都没有去细仔考虑所定义的表结构字段类型的区别,今天我在做nvarchar与varchar的一个选择,在选择前还是看看他们的区别;
sql server2005 帮忙:
nvarchar [ ( n | max ) ]
可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。nvarchar 的 SQL-2003 同义词为 national char varying 和 national character varying。
varchar [ ( n | max ) ]
可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。SQL-2003 中的 varchar 就是 char varying 或 character varying。
备注说明:
如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。
将为使用 char 或 varchar 的对象指派数据库的默认排序规则,除非使用 COLLATE 子句指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。
如果站点支持多语言,请考虑使用 Unicode nchar 或 nvarchar 数据类型,以最大限度地消除字符转换问题。如果使用 char 或 varchar,建议执行以下操作:
如果列数据项的大小一致,则使用 char。
如果列数据项的大小差异相当大,则使用 varchar。
如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)。
分享到:
相关推荐
- nvarchar是可变长度的Unicode字符数据类型,与VARCHAR类似,但每个字符占用2个字节。 - nvarchar最多可存储4,000个Unicode字符。 - 和varchar一样,nvarchar只占用实际字符所需的空间,但在存储数据长度方面...
在Oracle数据库中,VARCHAR2()和NVARCHAR2()都是用于存储字符数据的变量长度数据类型,但它们之间存在显著的差异。以下是对这两个数据类型的详细解释: 1. VARCHAR2() VARCHAR2() 是Oracle中的标准可变长度字符...
在SQL Server中,选择使用`varchar`还是`nvarchar`数据类型是数据库设计中的一个重要决策,因为这直接影响到数据存储的效率、空间占用以及兼容性。理解这两种数据类型的差异至关重要。 `varchar`是一种变长字符串...
nchar_char_varchar与nvarchar有何区别?
5. **性能与存储**:在存储空间有限或对性能要求较高的情况下,应权衡使用`char`还是`varchar`,以及是否使用Unicode的`nchar`或`nvarchar`。`nchar`和`nvarchar`虽然在存储英文时会浪费空间,但提供了语言兼容性,...
因最近自己制作的软件需运行在简繁系统中,但数据库设计时...此脚本可批量处理数据库内所有char和varchar转换为nchar和nvarchar,已集成重建主键,约束,索引,此脚本没有启用事务,运行前请备份原数据库或手动增加事务
问: sql server中的varchar和Nvarchar有什么区别啊,varchar好像是一个英文和一个汉字都站两个字节,而Nvarchar则是一个英文占一个字节,汉字占两个字节。可是这个对asp程序有什么影响? 答: varchar(n) 长度为 ...
- `NCHAR`和`NVARCHAR`的长度限制通常在1到4000个字符之间,与`CHAR`和`VARCHAR`相比,不受英文和汉字字符差异的影响。 - 由于Unicode支持,它们在处理多语言数据时更为方便,但空间效率相对较低。 5. **NTEXT**...
在SQL Server数据库管理系统中,字符数据类型是存储文本信息的基础,包括`char`、`varchar`、`nchar`和`nvarchar`等几种常见的类型。这些数据类型在存储字符串时有着不同的特性和用途,理解它们之间的区别对于正确...
### char、varchar、nchar、nvarchar 四种类型的区别 在数据库设计中,选择合适的字段类型对于确保数据的准确性和提高查询效率至关重要。对于字符类型的字段,SQL Server 提供了 `char`、`varchar`、`nchar` 和 `...
### Oracle CHAR, VARCHAR, VARCHAR2 的区别与使用方法 在 Oracle 数据库中,字符串类型是极为常见的数据类型之一,主要用于存储文本数据。其中最常用的三种类型包括:`CHAR`, `VARCHAR`, 和 `VARCHAR2`。这三种...
`VARCHAR`与`CHAR`的主要区别在于存储方式和空间利用率。`CHAR(M)`定义的列长度固定,它会在右侧填充空格以达到指定长度,检索时不删除这些空格,这在存储定长数据时较为高效,且其上的索引效率较高。然而,`CHAR`会...
在MySQL中,`VARCHAR`和`NVARCHAR`是两种常见的字符串数据类型,它们在处理特殊字符时有不同的表现和处理方式。理解这两种类型的区别对于数据库设计和数据存储至关重要,特别是当处理包含非ASCII字符(如中文、日文...
对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。 1.定长或变长 所谓定长就是长度固定,当要保存的数据长度不够时将...
- `nvarchar`是可变长度的Unicode字符数据类型,与nchar类似,但长度可变。 - 它的长度可设置为1到4,000个字符,`max`选项同样可扩展到2^31-1个字节。 - 同样只占用实际字符所需的空间,适合存储不确定长度的多...
本文将详细介绍char、nchar、varchar和nvarchar这四种数据类型的区别以及它们的适用环境。 1. **char**: - char是一种固定长度的非Unicode字符数据类型,长度范围为1到8,000个字节。 - 不论存储的数据实际长度...
在SQL Server 2008 R2中,`nvarchar`与`binary`之间的转换是一个常见的操作,特别是在处理用户输入、存储过程、数据迁移或数据交换等场景。理解这两种数据类型的特点以及如何在它们之间进行转换,是数据库管理中不可...