NLS_DATE_FORMAT is used if a date format mask is not specified in application code. The effective NLS_DATE_FORMAT is determined by the following (in order of precedence):
1. Session NLS_DATE_FORMAT (via ALTER SESSION command)
2. Client side NLS_DATE_FORMAT (from client environment variables/registry settings)
3. Instance NLS_DATE_FORMAT (from init.ora file)
4. Database NLS_DATE_FORMAT
Session NLS_DATE_FORMAT is set to client side NLS_DATE_FORMAT (explicit or implicit) ONLY if NLS_LANG is set. Another words, if NLS_LANG is set, then session NLS_DATE_FORMAT will be taken from the client. If clent NLS_LANG is set and client NLS_DATE_FORMAT is not, session NLS_DATE_FORMAT will default to DD-MON-YY (and that was exactly what you experienced). If NLS_LANG is not specified on the client side, NLS_DATE_FORMAT will be taken from instance NLS_DATE_FORMAT which is NLS_DATE_FORMAT from INIT.ORA. If NLS_DATE_FORMAT is not set in INIT.ORA, session NLS_DATE_FORMAT will default to DD-MON-YY.
分享到:
相关推荐
Oracle的NLS_DATE_FORMAT设置(日期格式设置)_ITPUB博客.mhtml
ORA-01843 和 NLS_DATE_FORMAT 是在 Oracle 数据库中常见的错误,通常出现在日期处理时,尤其是当你尝试将非标准格式的日期字符串转换为日期类型时。这篇文章主要探讨了如何解决这类问题。 首先,`ORA-01843: 无效...
- 数据库初始化参数文件(init.ora):在Unix/Linux系统上,可以在`init<sid>.ora`文件中添加`NLS_DATE_FORMAT = 'YYYY/MM/DD HH24:MI:SS'`,然后重启数据库服务。 4. **TO_CHAR和TO_DATE函数** - Oracle提供了`...
可以通过设置`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'; ``` 以上...
- 示例: `SELECT TO_CHAR(TO_DATE('2002-08-26', 'YYYY-MM-DD'), 'DAY', 'NLS_DATE_LANGUAGE=American') FROM DUAL;` - **计算两个日期之间的天数差**: - 示例: `SELECT FLOOR(SYSDATE - TO_DATE('20020405', '...
2. **客户端环境变量设置**:在客户端操作系统环境中设置NLS参数,如Unix下的`setenv NLS_DATE_FORMAT YYYY-MM-DD`或Windows下的`set NLS_DATE_FORMAT=YYYY-MM-DD`。这种设置优先级高于服务器端的初始化参数,即覆盖...
其中,`TO_DATE`函数尤为突出,它被广泛用于将字符串转换为日期格式,这对于数据查询、数据分析以及各种与时间相关的操作至关重要。以下是对`TO_DATE`函数及其相关知识点的深入探讨。 ### Oracle TO_DATE 函数详解 ...
如果不想每次都设置,可以修改系统/用户环境变量,新增一个变量,例如 nls_date_format,值为 YYYY-MM-DD HH24:MI:SS。 补充:修改时间日期的格式并不单是显示上的问题,而是在内部存储的值也会被覆盖。例如: ...
TO_DATE(date_string, format_mask[, nls_date_language]) ``` - `date_string`:这是要转换成日期的字符串。 - `format_mask`:定义了字符串中的日期元素布局。例如,'DD-MON-RRRR' 表示日-月-4位年份,'YYYY-MM-...
例如,`NLS_DATE_FORMAT` 定义了默认日期格式,`NLS_LANGUAGE` 和 `NLS_TERRITORY` 指定了语言和区域设置。 总结起来,Oracle 系统字符集的查看涉及到多个 SQL 查询和系统表,这对于数据库管理员来说非常重要,因为...
日期格式冲突问题通常与数据库服务器的NLS参数有关,特别是NLS_DATE_FORMAT。如果输入的日期格式与系统默认的NLS_DATE_FORMAT不匹配,会导致错误。解决这个问题的方法是要么调整NLS_DATE_FORMAT,要么在`TO_DATE`...
| NLS_DATE_FORMAT | DD-MON-RR | | NLS_DATE_LANGUAGE | AMERICAN | | NLS_CHARACTERSET | ZHS32GB18030 | | NLS_SORT | BINARY | | NLS_TIME_FORMAT | HH.MI.SSXFFAM | | NLS_TIMESTAMP_FMT | DD-MON-RRHH.MI....
`NLS_DATE_FORMAT`决定了默认的日期显示格式,而`NLS_DATE_LANGUAGE`影响日期的显示语言。 - 可以通过`ALTER SYSTEM`或`ALTER SESSION`命令来修改这些参数,或者在`TO_DATE`函数中指定`NLS_DATE_LANGUAGE`。 8. **...
1. **会话级设置**:通过`ALTER SESSION SET NLS_DATE_FORMAT = 'format'`命令,可以在当前会话中设置日期格式。例如: ```sql ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'; ``` 2. **系统级设置**:如果...
- 新建一个名为`NLS_DATE_FORMAT`的字符串值,并为其指定期望的日期格式,如`'YYYY-MM-DD HH24:MI:SS'`。 #### 三、通过PL/SQL Developer调整 ##### 2. 使用PL/SQL Developer工具 对于经常使用的开发工具PL/SQL ...
Oracle的日期格式可能受到NLS_DATE_FORMAT和NLS_DATE_LANGUAGE参数的影响。不同的字符集可能导致日期的默认显示格式不同。例如,对于US7ASCII字符集,日期格式可能是'01-Jan-01'。可以通过`ALTER SYSTEM`或`ALTER ...
- **ALTER SESSION SET NLS_DATE_FORMAT**: 设置会话级别的日期格式。 ```sql ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR'; ``` ### 7. 使用TO_DATE函数 `TO_DATE`函数允许用户自定义日期格式,如: ```...
在这个查询结果中,你会看到`NLS_DATE_FORMAT`和`NLS_DATE_LANGUAGE`等与日期相关的参数及其当前值。 接下来,我们关注`NLS_DATE_LANGUAGE`参数。这个参数用于设定日期和时间的显示语言。在示例中,我们看到了如何...
在Oracle数据库中,`TO_DATE`函数是一种非常重要的日期和字符转换工具,它允许我们将字符串转换为...同时,了解`NLS_DATE_LANGUAGE`和`NLS_DATE_FORMAT`等NLS参数,可以帮助我们处理跨区域和多语言环境下的日期问题。