用varchar2(1)比较通用 ; 不过如果在应用程序中经常需要sum , count , avg 等的话 , 那么用number类型比较合适 , 以免在程序开发过程中需要转化 .
解决方案 »
- 单机,如何导入到用户默认的表空间里?
- 对指定表的若干行记录按照某字段进行分段
- Oracle中的环比和同比问题
- 问jiezhi(西域浪子)一个问题~!
- 为什么在PL/SQLdeveloper上插入的数据在OEM里看不到?
- 问几个简单的问题,看看我的表是不是设计的有问题
- database link 有无超时之说?
- 请教一下oracle中如何更改数据文件的位置
- 有一段SQL语句,在PLSQL上可以执行,为什么VS上出现了ORA-00923: 未找到要求的 FROM 关键字
- 修改同一表中数据,update语句写法问题
- 想知道关于oracle数据库储存数据的问题
- 若干关于oracle数据库的问题?小弟初学,请大家相助。
这是一个比较通用的方法,而且 ORACLE保证在以后的版本中不对VARCHAR2类型进行修改,而VARCHAR类型是为了保持与SQL 92标准的一致而可能做出修改的。
就效率而言,我觉的这个设置相差无几吧,也就是说可能是无从比较
为了程序可读性建议不使用代码模式,如:
推荐:'年份','月份','日' 或 'year','month','day' .varchar2
次之:'Y','M','D' . char(1)
不推荐,1,2,3 . number(1)另外:
1.在长度比较小的情况下,VARCHAR2比CHAR占空间大。
2.使用NUMBER的好处是使用时不用加'号
3.索引对查询速度的影响比其他因素大,加索引的字段长度特别长时,对INSERT等语句效率有影响。
用CHAR(1)是个折中的办法
关于效率的问题你可以自己做做实验看看