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变量,还可以整体修改客户端的环境变量。

  • 相关阅读:
    【转】软链接和硬链接到底有啥作用和区别
    useradd命令详解
    【转】Linux下MySQL数据库安装及配置方法
    【转】MySQL的安装与配置——详细教程-window系统下
    mysql服务器常用命令
    【转】DDL/DML/DCL区别概述
    tmux终端工具的简单使用
    linux go环境安装和基本项目结构
    ClickHouse高可用集群的配置
    centos7下使用rpm包安装clickhouse
  • 原文地址:https://www.cnblogs.com/jyzhao/p/4171367.html
Copyright © 2011-2022 走看看