`
wsmajunfeng
  • 浏览: 498254 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

char、varchar、text和nchar、nvarchar、ntext的区别

阅读更多
1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。

2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。

3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。  

    所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ice_spar/archive/2007/05/23/1623196.aspx
分享到:
评论

相关推荐

    char、varchar、nchar、nvarchar四种类型的区别

    ### char、varchar、nchar、nvarchar 四种类型的区别 在数据库设计中,选择合适的字段类型对于确保数据的准确性和提高查询效率至关重要。对于字符类型的字段,SQL Server 提供了 `char`、`varchar`、`nchar` 和 `...

    深入char、varchar、text和nchar、nvarchar、ntext的区别详解

    本文将深入探讨`CHAR`、`VARCHAR`、`TEXT`以及`NCHAR`、`NVARCHAR`、`NTEXT`的区别,帮助开发者做出更明智的选择。 1. **CHAR**: - `CHAR`是一种定长字符串类型,它会为每个字段预留指定的字节数,无论实际存储的...

    过程需要参数 ‘@statement’ 为 ‘ntext/nchar/nvarchar’ 类型

    sql中varchar和nvarchar的区别与使用方法Sqlserver中char,nchar,varchar与Nvarchar的区别分析基于SQL Server中char,nchar,varchar,nvarchar的使用区别深入char、varchar、text和nchar、nvarchar、ntext的区别详解SQL...

    MSSQL中所有字段类型的区别

    一、char、varchar、text 和 nchar、nvarchar、ntext 的区别 char、varchar、text 是用于存储字符串类型的数据,而 nchar、nvarchar、ntext 是用于存储 Unicode 字符串类型的数据。 1. char char 类型用于存储定...

    SQL中varchar和nvarchar的基本介绍及其区别

    对于更大的文本数据,可以使用`text`或`ntext`,但现在通常推荐使用`varchar(max)`和`nvarchar(max)`,它们分别可以存储最多2^31-1个字节和2^31-1个字符。 5. **性能与存储**:在存储空间有限或对性能要求较高的...

    何更改sql2005数据库的编码方式

    * 存储过程和用户定义函数的所有现有 char、varchar、text、nchar、nvarchar 或 ntext 参数和标量返回值。 * char、varchar、text、nchar、nvarchar 或 ntext 系统数据类型和基于这些系统数据类型的所有用户定义的...

    过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型

    `ntext`、`nchar`和`nvarchar`是SQL Server中用于存储文本数据的类型: 1. `ntext`:这是用来存储大量非Unicode文本数据的类型,最大长度可达2^30个字节(约1GB)。但在SQL Server 2016及更高版本中,`ntext`已被...

    SQL字符类型.docx

    在SQL Server中,字符数据类型是用来存储文本信息的,包括`char`、`nchar`、`varchar`、`nvarchar`、`text`和`ntext`。这些数据类型各有其特点和适用场景。 1. `char`和`nchar`: - `char(n)`是定长的非Unicode...

    SQLSERVER数据类型详解.pdf

    `char`和`nchar`的最大长度为8000个字符,`varchar`和`nvarchar`的最大长度为4000个字符,而`text`和`ntext`则可以存储高达2^31-1个字符。 了解并正确使用这些数据类型对于设计高效且适应各种数据需求的数据库是至...

    SQL数据库的学习总结部分

    在SQL数据库中,常见的数据类型有char、varchar、text、nchar、nvarchar和ntext等。 1. char:char类型存储定长数据,char字段上的索引效率高,但存储大小固定,不足的自动用空格填充,读取时可能需要用到trim()。 ...

    数据库原理与应用第4章创建和管理数据表.ppt

    字符串类型包括Char、varchar、text、nchar、nvarchar和ntext等。每种类型都有其特点和应用场景。例如,Char用于存储固定长度的字符串,varchar用于存储可变长度的字符串,text用于存储大型的字符串,nchar和...

    SQL数据类型详细介绍

    在本文中,我们将重点关注字符类型,包括`CHAR`, `NCHAR`, `VARCHAR`, `NVARCHAR`, `TEXT`, 和 `NTEXT`。 1. **CHAR和NCHAR**: - `CHAR`是固定长度的字符数据类型,长度范围是1到8,000个字符。无论实际存储的数据...

    MySqlOracleSqlServer三大数据库的数据类型列表汇编.docx

    3. 字符串类型:CHAR、VARCHAR、NCHAR、NVARCHAR、TEXT、NTEXT、IMAGE。 4. 日期和时间类型:DATE、TIME、DATETIME、SMALLDATETIME、DATETIME2、TIME2、DATETIMEOFFSET。 5. 二进制类型:BINARY、VARBINARY、IMAGE...

    Sql语言程序设计教程[归类].pdf

    3. 字符串数据类型包括Char、Varchar、Nchar、Nvarchar、Text和Ntext。Char和Nchar是定长字符串,Char存储非Unicode字符,Nchar存储Unicode字符,长度固定,不足部分用空格填充。Varchar和Nvarchar是变长字符串,...

    数据库原理电子教案:第四章 SQL Server表管理.doc

    6. 字符型:char、varchar、nchar和nvarchar,其中nchar和nvarchar支持Unicode字符,char和varchar为固定长度和可变长度,超出长度会被截断或用空格填充。 7. 文本和图像型:text、ntext和image,用于存储大量文本...

    SQL-Server常用关键字、数据类型和常用语法.docx

    字符类型包括`char`、`nchar`、`varchar`、`varchar(MAX)`、`nvarchar`、`nvarchar(MAX)`、`text`和`ntext`,它们用于存储文本数据,其中`char`和`nchar`为固定长度,`varchar`和`nvarchar`为可变长度,`MAX`表示...

    SQL SERVER与C#的数据类型对应表

    5. **Character (char, text, varchar, nchar, ntext, nvarchar)**: 这些是SQL Server的字符和文本类型。`char`和`nchar`是固定长度的字符串,`varchar`和`nvarchar`是可变长度的。`text`和`ntext`用于存储大量文本...

    数据库表和数据库关系的实现.pdf

    nchar 和 nvarchar 需要指定字符长度,例如nchar(50)、nvarchar(50);ntext 类型不必指定长度。nchar 的存储空间为 1 个字符 2 字节,为固定长度,未填满数据的部分会自动补上空格字符。 数据库表的数据类型的...

Global site tag (gtag.js) - Google Analytics