`
scorpio
  • 浏览: 34235 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

about nls_date_format

阅读更多

【1】INSERT INTO ORDERS
VALUES (1000,1005,'31-MAR-03','02-APR-03','1201 ORANGE AVE', 'SEATTLE', 'WA', '98114');
为什么老是提示输入的为无效的月份呢?

OrderDate DATE, ShipDate DATE
'31-MAR-03','02-APR-03'
字段是date类型, 无法对你的字符串进行隐式转换, 使用显示转换(to_date)或是
修改当前session的日期格式为dd-mon-yy(nls_date_format)

关于nls_date_format:
同一个参数可以在不同地方设置,其中session的优先级最高,也就是说,如果在系统环境变量中设置了,但是在alter session set ....中又

设置了,对当前session来讲,以alter session 设置的生效。

【2】(转)

工作中碰到用spool导出数据,其中有日期格式的字段,因为format了各列,就不想用to_char把日期再format了,而且用to_char的话还要把要

所有的列都写在select语句中。win下默认的格式为DD-MM-yy ,如下:
SQL>select sysdate from dual;

SYSDATE
----------
21-12月-04

数据库中的日期字段中的格式为yyyy-mm-dd hh24miss,导出的数据中也要这样的格式,设置nls_date_format就可以实现,如下:
1.用alter session来修改
 SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
 SQL> select sysdate from dual;

SYSDATE
-------------------
2004-12-21 14:44:24

2.在OS中设置nls_date_format
 打开一个控制台窗口
 C:>SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS  //注意:这里YYYY-MM-DD HH24:MI:SS不能加引号,但在unix系统中要加
 
 SQL> select sysdate from dual;

SYSDATE
-------------------
2004-12-21 14:45:44

这样改了以后只对当前的控制台窗品有效,如果不想每次都设置,就修改系统/用户环境变量,新增一个nls_date_format变量,值为YYYY-MM-DD

HH24:MI:SS
打开一个控制台窗口
 SQL> select sysdate from dual;

SYSDATE
-------------------
2004-12-21 14:46:15

这样在spool中直接select * from tabs就行了。

 

【3】

附:oracle日期格式参数 含义说明 
  d: 一周中的星期几 
  day: 天的名字,使用空格填充到9个字符 
  dd: 月中的第几天 
  ddd: 年中的第几天 
  dy: 天的简写名 
  iw: ISO标准的年中的第几周 
  iyyy: ISO标准的四位年份 
  yyyy: 四位年份 
  yyy,yy,y: 年份的最后三位,两位,一位 
  hh: 小时,按12小时计 
  hh24: 小时,按24小时计 
  mi: 分 
  ss: 秒 
  mm: 月 
  mon: 月份的简写 
  month: 月份的全名 
  w: 该月的第几个星期 
  ww: 年中的第几个星期

分享到:
评论

相关推荐

    Oracle的NLS_DATE_FORMAT设置(日期格式设置)_ITPUB博客.mhtml

    Oracle的NLS_DATE_FORMAT设置(日期格式设置)_ITPUB博客.mhtml

    如何解决ORA-01843与NLS_DATE_FORMAT问题

    ORA-01843 和 NLS_DATE_FORMAT 是在 Oracle 数据库中常见的错误,通常出现在日期处理时,尤其是当你尝试将非标准格式的日期字符串转换为日期类型时。这篇文章主要探讨了如何解决这类问题。 首先,`ORA-01843: 无效...

    NLS_LANG切换字符集快捷工具.bat

    快速通过NLS_LANG切换字符集快捷工具设置客户端字符集,避免连接多个不同字符集的数据库导致PL/SQL工具显示乱码的问题。

    设置ORACLE时间格式

    - 数据库初始化参数文件(init.ora):在Unix/Linux系统上,可以在`init<sid>.ora`文件中添加`NLS_DATE_FORMAT = 'YYYY/MM/DD HH24:MI:SS'`,然后重启数据库服务。 4. **TO_CHAR和TO_DATE函数** - Oracle提供了`...

    oracle10g(nls_charset12.jar)以及oracle11g (orai18n.jar)

    在给定的压缩包文件中,我们关注的是两个特定的JAR文件:`nls_charset12.jar`和`orai18n.jar`,它们都是Oracle数据库与Java应用交互的关键组件。 `nls_charset12.jar`是Oracle 10g中的一个组件,其中“NLS”代表...

    nls_charset12.jar oracle 10

    nls_charset12.jar 之前在csdn上下载的这个文件有问题,导致程序调试了很久 我这边上传这个没有问题

    nls_charset12.jar

    标题中的"nls_charset12.jar"文件是Oracle数据库的一个关键组件,它与NLS字符集有关。NLS字符集是Oracle用来支持不同语言和地区字符编码的系统,比如ASCII、UTF-8或GBK等。当我们在处理包含多种语言的数据时,这个...

    Oracle 中的 TO_DATE 和 TO_CHAR 函数

    可以通过设置`NLS_DATE_FORMAT`或`NLS_DATE_LANGUAGE`来改变这种行为。 ```sql ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss'; ALTER SESSION SET NLS_DATE_LANGUAGE = 'American'; ``` 以上...

    nls_charset12 ojdbc14

    标题中的“nls_charset12 ojdbc14”提到了两个关键组件,它们分别是Oracle数据库相关的NLS(National Language Support)字符集和Oracle JDBC驱动的ojdbc14版本。接下来,我们将深入探讨这两个核心概念。 NLS_...

    Oracle客户端 NLS_LANG 的设置方法

    ### Oracle客户端 NLS_LANG 的设置方法 #### 一、NLS_LANG 参数的组成与意义 在Oracle客户端中,`NLS_LANG`是一个重要的环境变量,它用于定义客户端的语言环境设置,包括语言、地域以及字符集等。这对于确保客户端...

    nls_charset12.jar,ojdbc14.jar

    `nls_charset12.jar` 和 `ojdbc14.jar` 是两个关键的JDBC驱动文件,它们在Oracle 10G的Java应用程序中发挥着至关重要的作用。 1. `nls_charset12.jar` 文件:NLS(National Language Support)是Oracle数据库的一个...

    nls_cp1251.rar_NLS_translation

    标题 "nls_cp1251.rar_NLS_translation" 暗示了这是一个与字符集编码转换相关的资源,特别是关于CP1251编码。CP1251是Windows操作系统中用于东欧语言,尤其是俄语、保加利亚语、白俄罗斯语、乌克兰语等的一种字符...

    ojdbc14.jar nls_charset12.jar orai18n.jar

    oracle关于字符集的jdbc驱动,orai18n.jar nls_charset12.jar 支持集合的驱动程序 将java的集合转换为数据库集合类型 oracle10g及以下版本使用 nls_charset12.jar,以上的版本使用orai18n.jar

    nls_cp852.rar_NLS_translation

    标题 "nls_cp852.rar_NLS_translation" 指涉的是一个关于字符集转换的资源,特别是CP852编码的翻译表。NLS(National Language Support)是计算机科学中的一个术语,用于描述软件系统如何支持多种语言和区域设置。在...

    Oracle_to_date

    - 示例: `SELECT TO_CHAR(TO_DATE('2002-08-26', 'YYYY-MM-DD'), 'DAY', 'NLS_DATE_LANGUAGE=American') FROM DUAL;` - **计算两个日期之间的天数差**: - 示例: `SELECT FLOOR(SYSDATE - TO_DATE('20020405', '...

    NLS_equation_Agrawal.rar_NLS equation_pulse propagation_split_sp

    标题中的"NLS_equation_Agrawal.rar"指的是非线性薛定谔方程(Nonlinear Schrödinger Equation, NLS),这是光纤通信、量子光学以及许多其他领域中研究脉冲传播的一个基本数学模型。Agrawal的名字通常与光学领域的...

Global site tag (gtag.js) - Google Analytics