欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle中varchar2(* char)与varchar2(*)的区别

程序员文章站 2022-06-17 14:03:22
...

最近用到Hibernate自动建表,在用到String的时候,默认会创建varchar2类型字段,如:设置length=10,则创建后字段属性为varchar2(10 char),而非varchar2(10)。 由于之前没留意到这个,就网上查了一下,才知道原来基础都没记牢(也许一开始就没接触到,至少

最近用到Hibernate自动建表,在用到String的时候,默认会创建varchar2类型字段,如:设置length=10,则创建后字段属性为varchar2(10 char),而非varchar2(10)。

由于之前没留意到这个,就网上查了一下,才知道原来基础都没记牢(也许一开始就没接触到,至少印象中一直使用的后者)。其实,这个这两种写法还真有点不一样之处,varchar2(10 char)表示10个字符,这个类型可以存储10个多字节字符的,如如10个汉字,而varchar2(10)实际上市varchar2(10 byte)的简写,表示两个字节,注意,前者是字符,这里是字节,就是说这个类型是不能存储10个多字节字符的。

偶然发现,总结下,以备忘。玩数据库比较少,熟手勿拍!