`

CHAR与NCHAR数据类型

阅读更多
CHAR与NCHAR在Oracle数据库是常用的类型,不过两种数据类型是互相不兼容的,这里大概简要谈一下这2种数据类型吧。

在Oracle中,CHAR类型是一种固定长度的字符串类型,最大长度是2000个byte,在这里要注意了,是2000个byte,并不是2000个字符的意思。1个字符在Oracle中可能是1个byte到4个byte不等,这个要看数据库的设置了。这个是数据库中有一个参数NLS_LENGTH_SEMANTICS来决定的。CHAR类型有一个特点,就是字符长度总是固定的,也就是说,如果你声明了一个COLUMN类型为CHAR(10),如果你只插入了1个字符,那么系统也会自动在这个字符的右边补上9个空格,Oracle的CHAR类型中,补空格是在右侧补的。但是如果你插入了11个字符,那么就会系统出错,而不会自动截成10个字符。

NCHAR数据类型可能不是经常见到,不过在许多数据库设计中也有了。NCHAR数据类型是专为UNICODE字符而设计的,而且只能插入UNICODE字符串,NCHAR也是最大长度为2000个byte,不过每个字符占多少个byte,是由数据库的国际字符集决定的。同样的,如果插入字符不足定义的长度,比如NCHAR(10)类型中只插入了1个字符,系统会自动在右侧补充9个空格。

NCHAR和CHAR之间是不能直接互相兼容的,而是要通过Oracle的函数或者语法进行转换,比如说从NCHAR转成CHAR是要用TO_CHAR函数进行转换,而CHAR转换为NCHAR,比如说'ABCDE'这个CHAR字符串,则要通过N'ABCDE'来进行表示,也就是说前面要有一个N这个特殊字符,表示是NCHAR类型。
分享到:
评论

相关推荐

    SQL Server数据类型char、nchar、varchar、nvarchar的区别浅析

    主要介绍了SQL Server数据类型char、nchar、varchar、nvarchar的区别浅析,本文写的比较容易明白,需要的朋友可以参考下

    SQL数据类型nchar_char_varchar与nvarchar区别

    nchar_char_varchar与nvarchar有何区别?

    基于SQL Server中char,nchar,varchar,nvarchar的使用区别

    对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。 1.定长或变长 所谓定长就是长度固定,当要保存的数据长度不够时将...

    SQL2005中char nchar varchar nvarchar数据类型的区别和使用环境讲解

    有人讨论char nchar varchar nvarchar这几个数据类型的区别跟实际使用情况,很多人都搞不清楚究竟哪个场景使用哪个数据类型,下面用代码解释一下

    Oracle 数据类型

    1、CHAR数据类型,该类型是固定长度的字符串,如果没指定大小,则默认占用一字节,如果输入的值小于指定的长度,则数据库用空格填充至固定长度,如果用户输入的值大于指定的长度,则数据库返回错误信息 2、varchar...

    ORACLE中的数据类型.doc

    NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()数据类型分别与CHAR() 和 VARCHAR2()类型是相同的,只不过它们用来存储NLS(National Language Support)数据。 LONG LONG 数据类型是一个遗留下来的而且在将来不会...

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

    很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥一把...

    Sqlserver中char,nchar,varchar与Nvarchar的区别分析

    1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达 到了10个字节,都要占去10个字节的空间...

    SQL数据类型和范围(SQLServer,MySql,Access)

    Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。 SQL Server 数据类型 Character 字符串 数据类型 描述 存储 char(n) 固定长度的字符串。最多 8,000 个字符。 n varchar(n) 可变长度的...

    sql使用cast进行数据类型转换示例

    您可能感兴趣的文章:详解SQL Server中的数据类型详解MySQL数据类型int(M)中M的含义mysql存储引擎和数据类型(二)Java数据类型与MySql数据类型对照表SQL Server数据类型转换方法SQL Server比较常见数据类型详解...

    Oracle数据类型说明

    Oracle数据类型说明,CHAR VARCHAR2 NCHAR NVARCHAR2 等

    MSSQL数据类型及长度限制详细说明

    SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型。下面列出系统提供的数据类型集。... 如果结果数据类型为 char、varchar、text、nchar、nvarchar 或 ntext,则结果值的

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

    您可能感兴趣的文章:sql中varchar和nvarchar的区别与使用方法Sqlserver中char,nchar,varchar与Nvarchar的区别分析基于SQL Server中char,nchar,varchar,nvarchar的使用区别深入char、varchar、text和nchar、nvarchar...

    oracle支持的数据类型

    常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 ...数据类型 参数 描述 char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)

    SQL SERVER的数据类型

    1.SQL SERVER的数据类型  数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些...

    sqlserver字段类型介绍

    可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。 一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。 字符...

    varChar和Char之间的区别?

    4.一般用 char 类型的 存放 固定的数据; 5.两者的存储数据都非unicode的字符数据。 补充: 字符串:(1)Char:固定长度,长度为n个字节,取值范围1~8 000,存储大小是n个字节。 (2)Varchar:可变长度,n 的...

    数据库系统及应用教程-实验项目二、为数据库表添加约束

    二、实验内容 教学管理数据库JXGL中有三张表,分别是学生表Student,课程表Course和选课表SC其表结构如下: ...6.为学生表Student添加一列,列名为spol,数据类型为varchar(20)。 7.删除学生表Student

Global site tag (gtag.js) - Google Analytics