当前位置:网站首页 > 技术博客 > 正文

oracletypes.varchar



varchar2(byte) 存储的是字节。

varchar2(char) 存储的是字符。

比如:varchar2(2 byte) 最多可以存储2个字节;varchar2(2 char) 最多可以存储2个字符。

当数据库字符集为 AL32UTF8 时,一个汉字是一个字符,一个汉字占3个字节,varchar2(2 byte) 一个汉字也不能存,varchar2(2 char) 能存2个汉字。

当数据库字符集为 ZHS16GBK时,一个汉字是一个字符,一个汉字占2个字节,varchar2(2 byte) 能存1个汉字,varchar2(2 char) 能存2个汉字。

那么默认情况下,在指定数据类型为 varchar2(2) 时是什么情况呢?

这跟数据库中的一个参数有关: NLS_LENGTH_SEMANTICS

select name,value from v$parameter where name='nls_length_semantics';

NAME                           VALUE
------------------------------ ------------------------------
nls_length_semantics BYTE

 如果该参数的值为 byte ,则 varchar2(2) 等同于 varchar2(2 byte),这是默认情况。

版权声明


相关文章:

  • js事件怎么写2025-04-08 14:30:04
  • orm框架有哪些优缺点2025-04-08 14:30:04
  • python WebKitFormBoundary2025-04-08 14:30:04
  • html中img标签src的作用2025-04-08 14:30:04
  • sql如何编程2025-04-08 14:30:04
  • ncm免费转换mp3格式的软件2025-04-08 14:30:04
  • 代理方式有几种2025-04-08 14:30:04
  • 异步fifo使用2025-04-08 14:30:04
  • js注释有哪些2025-04-08 14:30:04
  • tftp -p -r2025-04-08 14:30:04