zoukankan      html  css  js  c++  java
  • Oracle日期格式问题

    一、日期格式修改

    SQL>select sysdate from dual;

    SYSDATE
    ---------------
    19-OCT-09
    SQL
    >alter session set nls_date_format="MON-DD-YYYY";

    Session altered.
    SQL
    >select sysdate from dual;

    SYSDATE
    -----------------
    OCT-19-2009

    SQL
    >

    二、日期语言问题

    以英语显示日期--- alter session set nls_date_language='american';

    1,摘要:

    在自己电脑上用PL/SQL查询时间报错,报错代码是:ORA-01843: not a valid month

    这是因为客户端是中文环境,格式mon就不能用英文的月份写法,必须用中文的六月
    如果不想修改sql,那么请修改nls_date_language。详情请继续往下看!

     

    执行下面的语句时报错了:

    select months_between ('01-SEP-95','11-JAN-94') from dual;

    我把日期中的英文月份改为汉字后执行就ok

    select months_between ('01-9-95','11-1-94') from dual;

    19.6774193548387

     

    2,下来我们思考如何才能让日期格式为英文月份的语句正确执行呢?

     

    --sql语句修改客户端的nls_date_language即可:

    SQL> alter session set nls_date_language='american';

    Session altered

    到这里就设置好了,下面的语句就能正确执行了!

     

    --2008.1.11之后6个月是什么日期

    SQL> select ADD_MONTHS ('11-JAN-2008',6) from dual;

    ADD_MONTHS('11-JAN-2008',6)

    ---------------------------

    2008-7-11

     

    --1994.1.111995.9.1之间总共跨越了几个月

    SQL> select months_between ('01-SEP-95','11-JAN-94') from dual;

     

    MONTHS_BETWEEN('01-SEP-95','11-JAN-94')

    --------------------------------------------

                                19.6774193548387

  • 相关阅读:
    About Dump File
    设置IIS延长Debug
    正则表达式中\d和[00]有什么区别
    理解程序语言语法的merge工具——semanticmerge
    大数据还是小数据
    如何在TFS中配置别的diff/merge的工具
    一个很cool的展示编程语言相互影响关系的网状图
    常见的算法的时间和空间复杂度
    C#的强迫执行域Constrained Execution Regions(CERs)
    C++的C4305和C4800的编译警告
  • 原文地址:https://www.cnblogs.com/ChenJw/p/2357177.html
Copyright © 2011-2022 走看看