SELECT to_char(MAX(BHSJ),'yyyy-mm-dd hi24:mm:ss') INTO v_sczxsj FROM B_ASJ_ZFJD_BHJL
前面那个BHSJ是有时分秒的,v_sczxsj是date型的啊
为什么要写得这么麻烦呢?Oracle他into的时候不是就会丢失时分秒的吧?
你执行下select to_char(v_sczxsj,'yyyy-mm-dd hh24:mi') from dual试试 如果BHSJ里有时分秒的话,v_sczxsj里也应该有 SQL> declare 2 d date; 3 begin 4 select to_date('200905051230','yyyymmddhh24mi') into d from dual; 5 dbms_output.put_line(to_char(d,'yyyy-mm-dd hh24:mi')); 6 end; 7 /PL/SQL 过程已成功完成。SQL> set serveroutput on SQL> / 2009-05-05 12:30PL/SQL 过程已成功完成。SQL>
如果BHSJ里有时分秒的话,v_sczxsj里也应该有
SQL> declare
2 d date;
3 begin
4 select to_date('200905051230','yyyymmddhh24mi') into d from dual;
5 dbms_output.put_line(to_char(d,'yyyy-mm-dd hh24:mi'));
6 end;
7 /PL/SQL 过程已成功完成。SQL> set serveroutput on
SQL> /
2009-05-05 12:30PL/SQL 过程已成功完成。SQL>
添加字串值NLS_DATE_FORMAT.将其值设为YYYY-MM-DD-HH24:MI:SS.
2 d date;
3 begin
4 SELECT MAX(BHSJ) INTO d FROM B_ASJ_ZFJD_BHJL;
5 dbms_output.put_line(to_char(d,'yyyy-mm-dd hh24:mi:ss'));
6 end;
7 /
PL/SQL procedure successfully completed
SQL> set serveroutput on
SQL> /
2009-05-05 11:14:26
PL/SQL procedure successfully completed
是没有丢失的,谢谢各位