Oracle时间格式的SQL语句
Oracle时间格式的SQL语句
--12小时制系统当前时间(上午) SQL>select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS AM')from dual; --24小时制系统当前时间(下午) SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS PM')from dual; --当前时间的后一天时间 select to_char(Sysdate+1,'YYYY-MM-DD HH24:MI:SS')from dual; --当前时间的后一个小时 select to_char(Sysdate+1/24,'HH24:MI:SS')from dual; --当前时间的前一分钟 select to_char(Sysdate-1/21/60,'HH24:MI:SS')from dual; --拿到某时间点之后的数据(做增量操作很有用) Date 类型时间 select * from T_TABLE where LAST_MODIFY_TIME>TO_DATE('2013-05-08 14:34:45', 'yyyy-mm-dd hh24:mi:ss') --TIMESTAMP 时间戳类型的时间 select * from T_TABLE where UPDATED_TIME > TO_TIMESTAMP('2013-08-08 13:30:00','yyyy-mm-dd hh24:mi:ss.ff') --MySql的 Timestamp时间类型last_modified ,datetime类型 select * from t_XXXX where last_modified>'2013-03-07 15:31:43' --Oracle中插入带时间戳字段的数据 insert into T_XXX (name1,name2,update_time) values (?,?,Sysdate); //update_time为Timestamp类型 Sysdate:系统当前时间 --插入带时间字段 to_date( ),TO_TIMESTAMP( ) insert into T_XXX (name1,name2,update_time) values (?,?,to_date('2013-2-28 15:42:56','yyyy-mm-dd hh24:mi:ss'); insert into T_XXX (name1,name2,last_modify_time) values (?,?,TO_TIMESTAMP('2013-08-08 14:30:00','yyyy-mm-dd hh24:mi:ss.ff'));
--时间格式参数说明 Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 显示值:2007 Month: mm number 两位月 显示值:11 mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02 ddd number 当年第几天 显示值:02 dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri day spelled out 当周第几天全写 显示值:星期五,若是英文版,显示friday ddspth spelled out, ordinal twelfth Hour: hh two digits 12小时进制 显示值:01 hh24 two digits 24小时进制 显示值:13 Minute: mi two digits 60进制 显示值:45 Second: ss two digits 60进制 显示值:25 其它 Q digit 季度 显示值:4 WW digit 当年第几周 显示值:44 W digit 当月第几周 显示值:1 24小时格式下时间范围为: 0:00:00 - 23:59:59.... 12小时格式下时间范围为: 1:00:00 - 12:59:59 ....