declare DateValue date;
begin
select sysdate into DateValue from dual;
dbms_output.put_line(to_char(DateValue - 1));
end;
为什么我这样写只显示日期 22-8月 -07,
一定要写成
dbms_output.put_line(to_char(DateValue - 1, 'YYYY-MM-DD HH24:MI:SS'));吗?to_char('2007-8-23 10:23:14', 'YYYY-MM-DD HH24:MI:SS')为什么报错(有太多"to_char" 说明与此次调用相匹配)?还有我想只做时间的比较,不要日期,应该怎么写?
begin
select sysdate into DateValue from dual;
dbms_output.put_line(to_char(DateValue - 1));
end;
为什么我这样写只显示日期 22-8月 -07,
一定要写成
dbms_output.put_line(to_char(DateValue - 1, 'YYYY-MM-DD HH24:MI:SS'));吗?to_char('2007-8-23 10:23:14', 'YYYY-MM-DD HH24:MI:SS')为什么报错(有太多"to_char" 说明与此次调用相匹配)?还有我想只做时间的比较,不要日期,应该怎么写?
SQL> select to_char(to_date('2007-8-23 10:23:14','YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') from dual
2 ;TO_CHAR(TO_DATE('2007-8-2310:2
------------------------------
2007-08-23 10:23:14SQL> select to_char(to_date('2007-8-23 10:23:14','YYYY-MM-DD HH24:MI:SS'), 'HH24:MI:SS') from dual;TO_CHAR(TO_DATE('2007-8-2310:2
------------------------------
10:23:14SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;TO_CHAR(SYSDATE,'YYYY-MM-DDHH2
------------------------------
2007-08-22 22:58:30如果比较时间:where to_char(to_date('2007-8-23 10:23:14','YYYY-MM-DD HH24:MI:SS'), 'HH24:MI:SS') > to_char(sysdate, 'HH24:MI:SS')
如果比较想日期+时间:
where to_date('2007-8-23 10:23:14','YYYY-MM-DD HH24:MI:SS') > sysdate注意to_date里面的值为非date类型就可以了 ^_^