varchar2(n)和varchar2(n char)之间的Oracle SQL区别

Ram*_*Ram 4 sql oracle

这里的脚本总是将varchar2列声明为varchar2(n char).我没有看到任何差异,只是好奇.谢谢!

Way*_*oga 6

基于此资源

Oracle9i及更高版本允许将Varchar2列定义为多个字节VARCHAR2(50 BYTE)或多个字符VARCHAR2(50 CHAR),后者在数据库转换为运行双字节字符集(例如作为日语),您不必编辑列大小.默认度量(通常为BYTE)使用nls_length_semantics设置.

如果您创建一个列为Varchar2(50)但只存储10个字节,那么Oracle将只保存10个字节到光盘.这并不意味着您应该只创建Varchar2(4000)列以防万一需要空间',这是一个非常糟糕的想法,会降低应用程序的性能和可维护性.