首先,我们来看下nvarchar和varchar的官方帮助里的说明:
varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varying。
二、该如何选择两种字符呢?
varchar和nvarchar都能存储汉字。区别在于,一个汉字占varchar(2),只占nvarchar(1),而字母只占varchar(1),那么在数据库字段求长度的时候,用varchar你就不一定知道它确切的知道它到底有几个字,如果用nvarchar,那么汉字也是nvarchar(1),字母也是nvarchar(1),那么已经很明显了.
同时,varchar的检索快于nvarchar。
至于,具体该选择哪种,看你自己的想法和需求了
转自:http://www.gishr.com/blog/u/mygis/archives/2007/165.html
分享到:
相关推荐
在SQL Server中,字符数据类型是用来存储文本信息的,包括char、nchar、varchar和nvarchar。这四个数据类型都有各自的特点和用途,下面我们逐一详细分析它们的区别。 1. **char类型**: - char是固定长度的字符...
在SQL Server数据库管理系统中,字符数据类型是存储文本信息的基础,包括`char`、`varchar`、`nchar`和`nvarchar`等几种常见的类型。这些数据类型在存储字符串时有着不同的特性和用途,理解它们之间的区别对于正确...
在SQL Server中,选择使用`varchar`还是`nvarchar`数据类型是数据库设计中的一个重要决策,因为这直接影响到数据存储的效率、空间占用以及兼容性。理解这两种数据类型的差异至关重要。 `varchar`是一种变长字符串...
对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。 1.定长或变长 所谓定长就是长度固定,当要保存的数据长度不够时将...
SQL Server 数据库类型对应 Java 中的数据类型 SQL Server 是一个关系数据库管理系统,Java 是一个广泛使用的编程语言。在 Java 中,对数据库的操作需要通过 JDBC(Java Database Connectivity)来实现,而在 JDBC ...
首先,标题中的"sqlserver自动生成sql语句工具"指的是可以分析SQL Server数据库结构和数据,自动生成对应的SQL创建语句的软件。这种工具通常能帮助数据库管理员快速获取数据库的定义,便于备份、迁移或在其他环境中...
标题中提到的是“sqlserver与mysql区别”,而描述部分明确指出“MS SQL不支持limit语句”,并给出了一些替代方案,比如使用top和row_number() over()函数。下面将围绕标题和描述,结合部分内容,详细阐述SQL Server...
在SQL中,`varchar`和`nvarchar`是两种常见的字符数据类型,它们分别用于存储非Unicode和Unicode字符数据。理解这两种类型的区别对于数据库设计和优化至关重要。 `varchar(n)`是可变长度的非Unicode字符数据类型,...
11. **VARCHAR2**: 可变长度的非Unicode字符类型,例如`VARCHAR2(10)`,在SQL Server中对应的类型为`nvarchar`。 12. **INTERVAL DAY TO SECOND**: 用于存储时间间隔,例如`INTERVAL DAY(2) TO SECOND(6)`,在SQL ...
- `nchar`和`nvarchar`在SQL Server中对应Oracle的`NCHAR`和`NVARCHAR2`,用于存储Unicode字符。 - `text`和`ntext`在SQL Server中对应Oracle的`CLOB`和`NCLOB`,用于存储大量文本数据。 - `image`在SQL Server中...
MySQL常用的数据类型如`TEXT`在SQL Server中对应的是`VARCHAR(MAX)`或`NVARCHAR(MAX)`。在迁移过程中,描述中提到的`text`类型在MySQL中存储大量文本数据,但在迁移到SQL Server时,如果没有预处理,可能会遇到中文...
SQL Server支持多种数据类型,如数值类型(如INT、DECIMAL)、字符串类型(如VARCHAR、NVARCHAR)、日期时间类型(如DATE、DATETIME2)以及二进制类型(如BINARY、VARBINARY)。理解这些数据类型对于创建表结构和...
MS SQL Server 则提供 `char`、`varchar`、`nvarchar` 和 `text` 类型。 - **日期类型**:PostgreSQL 的日期时间类型包括 `date`、`time`、`timestamp`、`timestamptz` 等。MS SQL Server 提供了类似的类型,如 `...
"mysql数据库转换成SQLserver数据库"这个主题主要涵盖以下几个关键知识点: 1. **数据迁移**:数据迁移是从一个数据库系统到另一个数据库系统的数据传输过程。在这个过程中,我们需要确保所有数据完整无损地从MySQL...
通过查询SQL Server中的`MSdatatype_mappings`和`sysdatatypemappings`视图可以获取SQL Server与其他数据库系统(包括Oracle)之间的数据类型映射关系。以下是一些常见数据类型的映射示例: - `bigint` -> `NUMBER...
关于SQL server2005中插入汉字变成问号的解决办法 1.右击你所建的数据库,点击“属性”,选择“选项”并点击。将其中的排序规则设置为:Chinese_PRC_CI_AS(选择下拉列表框即可设置),然后“确定“。2.在表中将你的...
在SQL Server数据库中,字符数据类型的选择对于存储和查询数据的效率及空间占用至关重要。本文主要探讨了四个常见的字符数据类型:char、nchar、varchar和nvarchar,它们各自具有独特的特性和用途。 1. **char数据...
对于日期和时间操作,可以使用 PostgreSQL 内置函数来实现 SQL Server 中的功能,例如: - `getdate()` 可以通过 `now()` 替换 - `dateadd()` 可以通过 `now() + interval` 来实现,注意如果是以参数形式传入,则...
### SQL Server 数据类型详解与自定义数据类型创建 在数据库设计与管理中,理解并熟练掌握数据类型至关重要,因为它们直接影响到数据存储的效率、...希望本文能帮助你更好地理解和应用SQL Server中的数据类型功能。