char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。
Varchar类型:Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
VARCHAR存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
Nchar类型和Nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。
例如
varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符。
举个例子:
insert a select '木子a'
--- 存储长度为5个字节,余下的3个字节全部释放
insert a select '木神易
----存储长度为6个字节,余下的2个字节全部释放
---意思是varchar变长字符数据类型与存储数据的实际长度是一致的
nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符。
字节的存储大小是所输入字符个数的两倍,
就是说它是双字节来存储数据的。
如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。
varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题
来源http://www.cnblogs.com/lichang1987/archive/2009/03/04/1403166.html
分享到:
相关推荐
在SQL Server数据库管理系统中,字符数据类型是存储文本信息的基础,包括`char`、`varchar`、`nchar`和`nvarchar`等几种常见的类型。这些数据类型在存储字符串时有着不同的特性和用途,理解它们之间的区别对于正确...
在SQL Server中,字符数据类型是用来存储文本信息的,包括char、nchar、varchar和nvarchar。这四个数据类型都有各自的特点和用途,下面我们逐一详细分析它们的区别。 1. **char类型**: - char是固定长度的字符...
对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。 1.定长或变长 所谓定长就是长度固定,当要保存的数据长度不够时将...
在SQL Server中,选择使用`varchar`还是`nvarchar`数据类型是数据库设计中的一个重要决策,因为这直接影响到数据存储的效率、空间占用以及兼容性。理解这两种数据类型的差异至关重要。 `varchar`是一种变长字符串...
在SQL Server数据库中,字符数据类型的选择对于存储和查询数据的效率及空间占用至关重要。本文主要探讨了四个常见的字符数据类型:char、nchar、varchar和nvarchar,它们各自具有独特的特性和用途。 1. **char数据...
在SQL Server 2005中,数据类型的选择对于数据库设计和性能至关重要。本文将详细介绍char、nchar、varchar和nvarchar这四种数据类型的区别以及它们的适用环境。 1. **char**: - char是一种固定长度的非Unicode字符...
在 SQL Server 中,char 是一个字符类型,用于存储固定长度的字符串。在 Java 中,char 对应的数据类型是 String。 decimal 在 SQL Server 中,decimal 是一个小数类型,用于存储小数值。在 Java 中,decimal 对应...
2. **数据类型**:SQL Server 2000支持多种数据类型,如数值类型(整型、浮点型、货币型)、字符型(VARCHAR、NVARCHAR、CHAR、NCHAR)、日期时间类型(DATE、TIME、DATETIME)、二进制类型(BINARY、VARBINARY、...
在SQL Server 2000中,可以通过`WITH ENCRYPTION`选项来创建或修改存储过程、函数、视图和触发器,从而实现加密的效果。加密后的对象源代码是不可见的,这有助于保护敏感的业务逻辑。 #### 三、解密原理 本示例提供...
接着,PPT可能会详细介绍SQL Server 2000的数据类型,如数值类型(INT、FLOAT、DECIMAL等)、字符类型(CHAR、VARCHAR、NVARCHAR)、日期时间类型(DATE、TIME、DATETIME等)以及特殊类型(BINARY、VARBINARY、IMAGE...
14.3.2 将所有的char、varchar改为nchar、nvarchar 445 14.3.3 标识列与普通列的相互转换 447 14.3.4 把列添加指定位置 450 14.3.5 在两个SQL Server数据库之间复制对象 451 第 15 章 SQL Server应用...
11. **VARCHAR2**: 可变长度的非Unicode字符类型,例如`VARCHAR2(10)`,在SQL Server中对应的类型为`nvarchar`。 12. **INTERVAL DAY TO SECOND**: 用于存储时间间隔,例如`INTERVAL DAY(2) TO SECOND(6)`,在SQL ...
- `char`和`varchar`在SQL Server中分别对应Oracle的`CHAR`和`VARCHAR2`。 - `nchar`和`nvarchar`在SQL Server中对应Oracle的`NCHAR`和`NVARCHAR2`,用于存储Unicode字符。 - `text`和`ntext`在SQL Server中对应...
在SQL Server 2005中,Base64编码是一种常用的数据编码方式,它将二进制数据转化为可打印的ASCII字符,常用于在网络上传输或存储非ASCII字符的数据。Base64编码能够确保数据在传输过程中不被篡改,因为它是通过特定...
MS SQL Server 则提供 `char`、`varchar`、`nvarchar` 和 `text` 类型。 - **日期类型**:PostgreSQL 的日期时间类型包括 `date`、`time`、`timestamp`、`timestamptz` 等。MS SQL Server 提供了类似的类型,如 `...
### 将SQL Server中的数据同步到Oracle中 在IT领域,特别是在企业级应用环境中,不同数据库平台间的数据同步是一项常见的需求。例如,在某些情况下,可能需要将SQL Server 2005中的数据同步到Oracle数据库中,以便...
对于字符类型的字段,SQL Server 提供了 `char`、`varchar`、`nchar` 和 `nvarchar` 这四种常见的类型。下面我们将详细介绍这四种类型的特点及其适用场景。 #### 1. 定长 vs 变长 - **CHAR**: 是一种定长字符串...