oracle to_date陷阱
ORACLE to_date 陷阱
oracle 中不带时分秒的字符串 to_date 转换时间后与带时分秒的date型字段做带等值的比较 (>=,<=,=)时,由于字符串不带时分秒,所以转换后时分秒默认为00:00:00,oracle中比较date是以一个时间点来比较的,精确到秒甚至毫秒微秒纳秒,所以date字段的时分秒不为00:00:00的就与不带时分秒字符串转换后的date匹配不上。示例:
表中huhai_seq_value所有数据
MYDATE
-----------
2009-03-02
2009-03-02
2009-03-02
2009-03-03
2009-03-03
2009-03-03
--sql1:
select hsv.mydate from huhai_seq_value hsv
where hsv.mydate = to_date('2009-03-03','yyyy-mm-dd ');
sql1查询结果:
MYDATE
-----------
2009-03-03
2009-03-03
--sql2:
select hsv.mydate from huhai_seq_value hsv
where to_char(hsv.mydate,'yyyy-mm-dd') = '2009-03-03';
sql查询结果:
MYDATE
-----------
2009-03-03
2009-03-03
2009-03-03
结论:所以在做不带时分秒的日期比较时最好用to_char函数转换后与字符串比较。
相关文档:
数据文件
每一个Oracle数据库都有一个或多个物理的数据文件,数据库信息(结构,数据)都保存在这些数据文件中,并且这些文件也只Oracle才能够解释与管理这些存储.Oracle数据文件具有以下一些特性:
1.一个数据文件仅仅关联一个数据库,数据文件与数据库之间对应关系是一对一关系,当然反过数据库与数据文件是一对多关系. ......
审计视图
STMT_AUDIT_OPTION_MAP -- 审计选项类型代码
AUDIT_ACTIONS -- action代码
ALL_DEF_AUDIT_OPTS -- 对象创建时默认的对象审计选项
DBA_STMT_AUDIT_OPTS -- 当前数据库系统审计选项
DBA_PRIV_AUDIT_OPTS -- 权限审 ......
经过数天不懈的努力,LINUX历尽三次重装,ORACLE重装N次终于在LiNUXAS4 update6 x86_64 下安装好ORACLE10g R 2 (64位) 了。
下面把安装过程和大家分享一下,以免更多人像我一样花费大量的时间在莫名其妙的问题上。
首先要说明的是,官方也有相应的文档安装但是实际过程中,会有一些问题需要解决。
本文档参照了相关说 ......
很久不用的oralce数据库,如果忘记了密码,可以这样解决:
如果没有设置环境变量, 去目录C:\oracle\product\10.2.0\db_1\BIN 执行以下命令:
C:\oracle\product\10.2.0\db_1\BIN>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jan 22 16:00:18
2010 Copyright (c) 1982, 2005, Oracle. All ri ......