char(),verchar(),verchar2()以及nverchar()的区别
1.char()的长度是固定的,例:char(10),要存储"english",这样,它同样占有10个字节,有三个为空字符。
2.verchar()的长度是可变的,同样,对于verchar(10)来存储"english",虽然定义的最大长度为10,但是只占用了7个字节。最大值为8000.
3.verchar2()是Oracle特有的一种数据类型,工业标准规定的verchar可以存储空字符串,但是在Oracle中是个例外,因为Oracle自己开发了verchar2,此类型在数据库中可以存储空字符串也可存储NULL。Oracle建议使用verchar2的原因在于其拥有向后兼容的能力。最大值为4000.
4.nverchar()主要用于存储字段值较多为双字节的字段(多用于中文,韩文),最大值为4000.比如:nverchar(10),可输入10个字母,也可输入10个汉字!
他们的区别。
特点
1.char没有verchar那么节约空间,但是效率稍比verchar高。
2.在Oracle中,如果一个字段的值常常被修改,那么建议使用char而不是verchar2,因为如果一个verchar2的值常被修改,那么容易引起行迁移的现象!