Oracle中使用SQL命令语句日期格式问题

本文详细解析了在使用SQL命令访问数据库时遇到的日期格式问题,特别是“ORA-01843: 无效的月份”错误。文章介绍了如何确定系统字符集,查询并调整系统默认的日期和时间格式,以确保SQL命令的正确执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一  使用SQL命令语句访问数据库时,经常出日期格式问题

        会报错:ora-01843: 无效的月份错。

二  确定系统字符集

        采用以下命令语句,查询系统使用的字符集:

             SQL>select userenv(‘language‘) nls_lang from dual;

             -------> us7ascii字符集缺省的时间格式显示为:28-Jan-2003
             ------>zhs16GBK中文字符集的时间格式缺省显示为:28-1月-2003。

三.  用以下命令查询默认的日期格式,

       1.在PL/SQL Developer中使用以下命令语句系统默认日期或时间格式:

                SQL>select * from nls_session_parameters;

                          -------> nls_session_parameters   表示本国语言支持的会话参数                  

                 在显示的表中寻找所需要的日期或时间格式:

                          - - ----->NLS_DATE_FORMAT ---->DD-MON-RR

                                                         -->表示(day天)(month月份,用"6月"表示,有时用英语月份前三个字母表示)(year年份)
                          -- ----->NLS_TIME_FORMAT ----> HH.MI.SSXFF AM 

                                                      --->表示(时)(分)(秒·默认显示6位数的毫秒)(AM上午,下午是PM)

                按系统字符集相对应的默认日期或时间格式进行编写SQL命令语句

  2. 也可以在SQL plus命令窗口中进行查询日期格式

           SQL>select sysdste from dual;

                 SYSDATE
                 ------------
                 04-DEC-16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值