所谓可变长度:是指当输入的字段值小于该字段的限制长度时,直接将字段值的内容存储到数据块中,而不会补上空白,这样可以节省数据块空间。

1. CHAR类型 CHAR(size [BYTE | CHAR])

CHAR类型,定长字符串,会用空格填充来达到其最大长度。非NULL的CHAR(12)总是包含12字节信息。CHAR字段最多可以存储2,000字节的信息。如果创建表时,不指定CHAR长度,则默认为1。另外你可以指定它存储字节或字符,例如 CHAR(12 BYTYE) CHAR(12 CHAR).一般来说默认是存储字节,你可以查看数据库参数

NLS_LENGTH_SEMANTICS的值。

SQL>  show parameter  nls_length

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

nls_length_semantics                 string      BYTE

注意:如果数据库的NLS_CHARACTERSET 为AL32UTF8,即一个汉字占用三到四个字节。如果NLS_CHARACTERSET为ZHS16GBK,则一个字符占用两个字节。

2. NCHAR类型

这是一个包含UNICODE格式数据的定长字符串。NCHAR字段最多可以存储2,000字节的信息。它的最大长度取决于国家字符集。另外查询时,如果字段是NCHAR类型,则需要特殊写法:

The following example compares thetranslated_descriptioncolumn of thepm.product_descriptionstable with a national character set string:

SELECT translated_description FROM product_descriptions

WHERE translated_name = N'LCD Monitor 11/PM';

3. VARCHAR类型

不要使用VARCHAR数据类型。使用VARCHAR2数据类型。虽然VARCHAR数据类型目前是VARCHAR2的同义词,VARCHAR数据类型将计划被重新定义为一个单独的数据类型用于可变长度的字符串相比,具有不同的比较语义。

4.VARCHAR2类型

变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4,000字节的信息。

5. NVARCHAR2类型

这是一个包含UNICODE格式数据的变长字符串。 NVARCHAR2最多可以存储4,000字节的信息。

varchar2和varchar的区别

varchar -- 存放定長的字符数据,最长2000個字符;

varchar2 -- 存放可变长字符数据,最大长度为4000字符。

目前没有本质的区别

但是:varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上和向下兼容但不保证varchar,这是因为varchar是标准sql提供的数据类型有可能随着sql标准的变化而改变

char对于不够位数的用空格添补,varchar2不会。

1. varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;

2 . VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;

3. VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,

varchar2和varchar的目前没有区别,不过ocacle以后的版本就不支持varchar类型,如果想新版本的数据库兼容就不要用varchar,如果想和其它数据库兼容就不要用varchar2

大部分情况下建议使用varchar2类型,可以保证更好的兼容性。

参考: http://www.cnblogs.com/kerrycode/archive/2013/08/17/3265120.html

oracle的string类型,oracle 数据类型之‘字符串’相关推荐

  1. oracle 强制转类型,Oracle 数据类型转换

    -- Start Oracle 为每种数据类型都提供了相应的函数,一般情况下它们之间的相互转换是非常简单的,Oracle 提供的函数有: CAST 将一种类型转成另一种类型 TO_DATE 将字符串转 ...

  2. java中的string类型_Java中的字符串类型(String)

    String 字符串是一个引用数据类型,字符串都是对象. String特性:1.在程序中出现的字符串字面量(常量),在程序中运行时会以对象的形式保存在JVM内存的字符串池中,并且所有的这些字符串字面量 ...

  3. python不支持单字符类型_Python数据类型之字符串

    1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串" str1 = '我也是字符串' ...

  4. python定义字符串类型_Python数据类型之字符串

    1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串" str1 = '我也是字符串' ...

  5. oracle 创建nchar类型,Oracle NChar类型

    本篇文章帮大家学习Oracle NChar类型,包含了Oracle NChar类型使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 在本教程中,您将了解Oracle NCH ...

  6. oracle 详细时间类型,Oracle 时间类型

    Oracle 时间类型有两种:1 秒级的 DATE,2 毫秒级的 TIMESTAMP(3)1 字符串转DATE格式:to_date('时间字符串', 'YYYY-MM-DD HH24:MI:SS')例 ...

  7. oracle 函数参数类型,ORACLE 11g中的表值函数? (参数化视图)

    搜索热词 过去我已经看过关于这个问题的讨论,比如 here.但是我想知道如果某个地方沿线,或许10g或11g(我们正在使用11g),ORACLE已经对"参数化视图"提供了更好的支持 ...

  8. oracle 怎么创建类型,ORACLE—002:Create之创建类型

    --积累工作中用到的SQL ORACLE中也是有类型的,可作为存储过程,函数等的输入输入出. 下面看下创建. 用法 CREATE OR REPLACE TYPE 类型名称 AS OBJECT ( 字段 ...

  9. java string类型详解_Java字符串类型详解

    Java 字符串类主要有String.StringBuffer.StringBuilder.StringTokenizer 1.字符串类型底层都是使用char数组进行实现. 2.从jdk1.7以后,S ...

最新文章

  1. Android安全教程(3)---Fiddler简易使用教程之抓取https包
  2. selenium java封装_selenium2.0的初步封装(java版本)
  3. 信息学奥赛一本通 1195:判断整除 | OpenJudge 2.6 3531:判断整除
  4. Ajxa验证用户和二级联动的实例(五)
  5. 俄罗斯方块菜单c语言,飞机游戏、俄罗斯方块、贪吃蛇C语言代码
  6. 64qam带宽计算_64QAM有效传输速率计算
  7. 什么是测试用例?什么是测试脚本?两者有什么关系?为什么要编写测试用例?测试用例的作用是什么?
  8. 【UE4】如何获取/下载虚幻4(Unreal Engine4)源码
  9. HuTool工具最全介绍
  10. 若语句char a = ‘\72‘; 则变量a包含几个字符?‘\72‘是否在ASCII值的范围之内?
  11. android开发网站的流程图,Android_客户端开发流程图及案例.pdf
  12. qmake -v,出现错误:qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake‘: No such file or direc
  13. 行存储和列存储小介绍
  14. 如何接入量化交易接口api进行交易?
  15. 1121. Damn Single (25)
  16. 【python标准库】色彩模式转换
  17. IE去除“是否停止运行此脚本?此页面上的脚本造成Internet Explore运行速度减慢”的提示信息
  18. LeetCode 39
  19. iPhone 6屏幕:4.7英寸1334*750分辨率,5.5英寸1920*1080,UI适配不困难
  20. 大雄保姆机器人_作为一个未来保姆机器人,哆啦A梦为什么有那么多因果律道具?...

热门文章

  1. RESTful(Express)
  2. Android混合开发-(Android与Web的交互)
  3. SpringBoot基础系列-使用日志
  4. 关于程序员中年危机的一个真实案例
  5. 面对枯燥和量大的知识 怎么学习
  6. C语言 --- void的用法解析
  7. c语言中void函数,c语言中void的用法
  8. 手电可以这么玩!一个牛逼的光电涂鸦作品!当手电筒遇到了单反相机,于是不可思议的一幕发生了。。
  9. JNA与JNI谁更受青睐呢
  10. depthwise conv 和 pointwise conv