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索引的介绍,结果如下:
从google上寻找资料:1:15秒。
阅读概述部分:3:15秒。
Oracle的索引主要包含两类:BTree和位图索引。默认情况下大多使用Btree索引,该索引就是通常所见 唯一索引、聚簇索引等等,Btree用在OLTP,加快查询速度。位图索引是Oracle的比较引人注目的地 ......
审计视图
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位) 了。
下面把安装过程和大家分享一下,以免更多人像我一样花费大量的时间在莫名其妙的问题上。
首先要说明的是,官方也有相应的文档安装但是实际过程中,会有一些问题需要解决。
本文档参照了相关说 ......
一. 用户管理
1.1 建立用户(数据库验证)
CREATE USER DAVE IDENTIFIED BY pwd
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 5m ON users;
1.2 修改用户
......