日期:2014-05-17  浏览次数:20844 次

想请问oracle中数据类型的问题?
一般单据的状态我们是用数字 
1(开始)
2(途中)
3(结束)


是number类型 

如果用varchar 的话
start
pending
end
这样的有意义的状态表示 状态有什么不好的地方嘛?




------解决方案--------------------
SQL code
当然用数值来的方便,直观,存储的空间等,都比较方便!

------解决方案--------------------
占用存储空间撒
------解决方案--------------------
应该和查询,索引等效率也有关系。
高手补充。
------解决方案--------------------
量不大的话,应该无所谓吧。 但是 如果你用varchar 如果还要转中文的的,就推荐干脆用数字。
------解决方案--------------------
探讨
一般单据的状态我们是用数字
1(开始)
2(途中)
3(结束)


是number类型

如果用varchar 的话
start
pending
end
这样的有意义的状态表示 状态有什么不好的地方嘛?

------解决方案--------------------
这中情况下没有硬性的规定,一般多建议使用代码进行规范,然后通过相应的注解来解释各个代码表示什么意思.
也就是说:使用(1,2,3)进行存储,然后通过文档来注解1,2,3的业务含义(相当于"标准代码表")在用到展示的时候你可以将代码转成对应的中文描述.
------解决方案--------------------
没有varchar 有的是varch
字符类型有:
char
varchar/varchar2
nchar
nvarchar/nvarvhar2
varchar2 是 varchar的升级版,相当于在最长长度2000升级到4000

------解决方案--------------------
这个主要考虑一个内部规范!
在一个超大型的系统中,用varchar占用的空间比用数字要大很多,并且额外的空格可能会导致一些问题(很多人写的时候可能没法保证)。
用数字,比较性能比varchar要好!