Oracle

类型定义

存储长度是否固定

存储长度指定

存储长度限制

存储字符集及编码方式

CHAR

存储固定长度的字符串

  • 可以用字节或字符来指定一个字符串的最大长度,显示指定如CHAR(length BYTE), CHAR(length CHAR),默认使用BYTE,如CHAR(length);当不指定时,默认为1,如CHAR

  • 当使用字符时,最大长度取决于当前的数据库编码,最大字符串的长度=每个字符中最大字符长度*最大字节数

  • 当插入或更新的长度小于列中定义的长度,则由空格补齐;当插入长度大于定义长度,则报错“value too large for column xxx“

最大存储长度为2000字节

数据库字符集

NCHAR

存储固定长度的字符串

  • 可以指定最大字符数,显示指定如NCHAR(length);当不指定时,默认为1,如NCHAR

  • 最大长度取决于当前的数据库编码,最大字符串的长度=每个字符中最大字符长度*最大字节数

  • 当插入或更新的长度小于列中定义的长度,则由空格补齐;当插入长度大于定义长度,则报错

最大存储长度为2000字节

国家字符集,UNICODE编码,AL16UTF16或UTF8编码方式

  • AL16UTF16 - 宽度固定的双字节 Unicode 字符集,默认使用

  • UTF8 - 宽度可变的、一至三个字节的 Unicode 字符集

VARCHAR2

存储可变长度的字符串

  • 强制用字节或字符来指定一个字符串的最大长度,显示指定如VARCHAR2(max_size BYTE), VARCHAR2(max_size CHAR),默认使用BYTE,如VARCHAR2(max_size)

  • 当使用字符时,最大长度取决于当前的数据库编码,最大字符串的长度=每个字符中最大字符长度*最大字节数

  • 当插入或更新的长度小于列中定义的长度,则以实际字符长度进行存储;当插入长度大于定义长度,则报错“value too large for column xxx“

  • 当MAX_STRING_SIZE = STANDARD,最大存储4000字节

  • 当MAX_STRING_SIZE = EXTENDED,最大存储32767字节

数据库字符集

NVARCHAR2

存储可变长度的字符串

  • 强制指定最大字符数,如NVARCHAR2(max_size),最大长度取决于当前的数据库编码

  • 最大长度取决于当前的数据库编码,最大字符串的长度=每个字符中最大字符长度*最大字节数

  • 当插入或更新的长度小于列中定义的长度,则以实际字符长度进行存储;当插入长度大于定义长度,则报错

  • 当MAX_STRING_SIZE = STANDARD,最大存储4000字节

  • 当MAX_STRING_SIZE = EXTENDED,最大存储32767字节

国家字符集,UNICODE编码,AL16UTF16或UTF8编码方式

  • AL16UTF16 - 宽度固定的双字节 Unicode 字符集,默认使用

  • UTF8 - 宽度可变的、一至三个字节的 Unicode 字符集

使用示例

Mysql

类型定义

存储长度是否固定

存储长度指定

存储长度限制

存储字符集及编码方式

CHAR

存储固定长度的字符串

  • 可以指定最大字符数,显示指定如CHAR(length);当不指定时,默认为1,如CHAR

  • 最大长度取决于当前的数据库编码,最大字符串的长度=每个字符中最大字符长度*最大字节数

  • 当插入或更新的长度小于列中定义的长度,则由空格补齐;当插入长度大于定义长度,则报错

最大存储长度为255个字符

数据库字符集

NCHAR

存储固定长度的字符串

  • 可以指定最大字符数,显示指定如NCHAR(length);当不指定时,默认为1,如NCHAR

  • 1中文字符 = 3字节

1英文字符/数字 = 1字节

  • 当插入或更新的长度小于列中定义的长度,则由空格补齐;当插入长度大于定义长度,则报错

最大存储长度为255个字符

UNICODE编码,相当于CHAR in UTF8

VARCHAR

存储可变长度的字符串

  • 强制指定最大字符数,如VARCHAR(max_size)

  • 最大长度取决于当前的数据库编码,最大字符串的长度=每个字符中最大字符长度*最大字节数

  • 当插入或更新的长度小于列中定义的长度,则以实际字符长度进行存储;当插入长度大于定义长度,则报错

  • 最大存储长度为65535个字符

  • 所有列的总长度要小于65535字节

  • 各个VARCHAR列需要预留1-2个字节作为长度前缀

  • 字符串长度<=255时,长度前缀为1字节

  • 字符串长度>255时,长度前缀为2字节

数据库字符集

NVARCHAR

存储可变长度的字符串

  • 强制指定最大字符数,如NVARCHAR(max_size)

  • 1中文字符 = 3字节

1英文字符/数字 = 1字节

  • 当插入或更新的长度小于列中定义的长度,则以实际字符长度进行存储;当插入长度大于定义长度,则报错

  • 最大存储长度为65535个字符

  • 所有列的总长度要小于65535字节

  • 各个VARCHAR列需要预留1-2个字节作为长度前缀

  • 字符串长度<=255时,长度前缀为1字节

  • 字符串长度>255时,长度前缀为2字节

UNICODE编码,相当于VARCHAR in UTF8

使用示例

CHAR,NCHAR,VARCHAR,NVARCHAR相关推荐

  1. 谈谈char ,nchar,varchar,nvarchar 和Uniqueidentifier

    在SQL server数据库中这几个类型应该是比较常用的,这篇文章主要也是和大家一起讨论下这几个类型. 先重点看前面4个:char ,nchar,varchar,nvarchar Msdn解释如下: ...

  2. Sql Server char nchar varchar nvarchar 区别

    一. 用快捷键Alt+F1 打开的表结构, 我们看到的length, nchar和nvarchar 需要除以2才是储存的真正长度 二 . 类型前缀的意思 1.有var前缀的,表示是实际存储空间是变长的 ...

  3. char nchar varchar nvarchar varchar2区别

    char(n):长度不可变,长度为n个字节,非Unicode字符 nchar(n):长度不可变,长度为2n个字节,Unicode字符 varchar(n):长度可变,长度为n个字节,非Unicode字 ...

  4. SQL char,nchar,varchar,nvarchar区别与使用

    1,char,varchar,nchar,nvarchar区别 1,CHAR:CHAR存储定长数据很方便,CHAR字段上的索引小笼包级高,比如定义char(10),name不论你存储的数据是否达到了1 ...

  5. char/nchar/varchar/nvarchar/varchar2之间如何选择使用?

    1.varchar:   可变长度的非    Unicode   字符数据,最长为    8,000    个字符.   2.nvarchar:   可变长度的    Unicode    字符数据, ...

  6. 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别

    [在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别 ] 1.CHAR(size)和VARCHAR(size)的区别  CHAR为定长的字段,最 ...

  7. char* 大小_SQL Server中char, nchar, varchar和nvarchar数据类型有何区别

    当问及CHAR,VARCHAR,NCHAR和NVARCHAR这些数据类型之间的差异时,这个看似很简单,但有时您也会感到困惑. 要在数据库存储字符.数值和特殊字符可以使用这4种数据类型,那么这4种数据类 ...

  8. Sqlserver中char,nchar,varchar与Nvarchar的区别

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

  9. mysql server nchar_Sqlserver中char,nchar,varchar与Nvarchar的区别分析

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

最新文章

  1. 个性化配置你的SQL Server on Linux
  2. Linux中安装nc(netcat)常见问题
  3. 本想用Python爬遍知乎,没想到却被知乎反杀
  4. android png转灰度,Android提高之使用NDK把彩图转换灰度图的方法
  5. 16 bit float 存储_浅谈float和double
  6. python中如何调用类_python中如何调用类的方法
  7. VB 遍历指定目录及子目录所有文件函数
  8. 【VRP】基于matlab蚁群算法求解多中心的车辆路径规划问题【含Matlab源码 111期】
  9. 算法:回溯四 Combination Sum II组合总数II
  10. 欧拉坐标与拉格朗日坐标
  11. OSError: [Errno 8] Exec format error
  12. 名片识别 java_基于JAVA的名片识别接口调用代码实例
  13. pyspark系列--统计基础
  14. python里面如何实现元组和列表的转换_python列表和元组相互转换
  15. eversync safari_EverSync安卓版
  16. Java的JDK和JRE
  17. 云笔记的使用感受和选择
  18. quickpc易办公微型计算机,QuickPC抄板方法.doc
  19. 司普沃浅谈辣椒炭疽病防治技术与管理
  20. python开发和大数据开发工程师_大数据开发工程师的岗位职责

热门文章

  1. 传统行业如何“玩”大数据?
  2. 【系统架构设计师】第四章 计算机网络
  3. 通灵学院|游戏设计研习8:游戏空间设计★(800字)
  4. Linux —— 基本指令
  5. acwing数据结构笔记(一)
  6. 计算机英语教学模式,英语教学模式计算机专业论文
  7. php5.3 register_globals,在PHP 5.3中PHP寄存器全局支持?(PHP register globals support in PHP 5.3?)...
  8. php100分闯关,有趣!php使用adb自动刷王者农药金币 【冒险模式】
  9. 云管理平台是个什么东西
  10. vue3最全路由使用教程