zoukankan      html  css  js  c++  java
  • Oracle存储过程获取YYYY-MM-DD的时间格式

    环境:Oracle 10g,11g

    问题重现:PL/SQL中命令窗口下,发现存储过程得到的时间格式不符合预期要求。

    SQL> select sysdate from dual;
    
    SYSDATE
    -----------
    2014-12-18
    
    Executed in 0 seconds
    
    SQL> set serveroutput on
    SQL> declare
    2 pro_date date;
    3 begin
    4 select sysdate into pro_date from dual;
    5 dbms_output.put_line(pro_date);
    6 end;
    7 /
    
    18-12月-14
    
    PL/SQL procedure successfully completed
    
    Executed in 0.016 seconds

    处理方法1:将结果转换成字符串格式:

    SQL> 
    SQL> declare
    2 pro_date date;
    3 begin
    4 select sysdate into pro_date from dual;
    5 dbms_output.put_line(to_char(pro_date,'yyyy-mm-dd'));
    6 end;
    7 /
    
    2014-12-18
    
    PL/SQL procedure successfully completed
    
    Executed in 0.016 seconds
    
    SQL> 
    SQL> declare
    2 pro_date date;
    3 begin
    4 select sysdate into pro_date from dual;
    5 dbms_output.put_line(pro_date);
    6 end;
    7 /
    
    18-12月-14
    
    PL/SQL procedure successfully completed
    
    Executed in 0 seconds

    处理方法2:改变会话的NLS_DATE_FORMAT

    SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
    
    Session altered
    
    Executed in 0.015 seconds
    
    SQL> 
    SQL> declare
    2 pro_date date;
    3 begin
    4 select sysdate into pro_date from dual;
    5 dbms_output.put_line(pro_date);
    6 end;
    7 /
    
    2014-12-18 11:18:15
    
    PL/SQL procedure successfully completed
    
    Executed in 0 seconds
    
    SQL> alter session set nls_date_format='yyyy-mm-dd';
    
    Session altered
    
    Executed in 0 seconds
    
    SQL> 
    SQL> declare
    2 pro_date date;
    3 begin
    4 select sysdate into pro_date from dual;
    5 dbms_output.put_line(pro_date);
    6 end;
    7 /
    
    2014-12-18
    
    PL/SQL procedure successfully completed
    
    Executed in 0 seconds

    总结:在Oracle存储过程想要获取YYYY-MM-DD的时间格式,可以转换成字符串处理,可以临时指定会话的NLS_DATE_FORMAT变量,还可以整体修改客户端的环境变量。

  • 相关阅读:
    OpenCV之图像归一化(normalize)
    虚拟机网络模式说明
    大端模式和小端模式
    ASCII、Unicode、UTF-8、UTF-8(without BOM)、UTF-16、UTF-32傻傻分不清
    MFC窗口通过OpenCV显示图片
    基于FFmpeg的Dxva2硬解码及Direct3D显示(五)
    PyQt5播放实时视频流或本地视频文件
    PyQt5信号与槽关联的两种方式
    PyCharm离线安装PyQt5_tools(QtDesigner)
    DC: 8
  • 原文地址:https://www.cnblogs.com/jyzhao/p/4171367.html
Copyright © 2011-2022 走看看