设置NLS_DATE_FORMAT

NLS_DATE_FORMAT 是 Oracle 数据库中的一个会话级别参数,它用于定义日期类型数据的默认显示格式。通过设置这个参数,你可以指定日期格式在查询结果中如何显示。

  1. 会话级别设置
    你可以在当前会话中修改 NLS_DATE_FORMAT,这样该会话中所有查询的日期输出格式都会遵循这个设置,直到会话结束。
    ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
    这个例子设置日期格式为 YYYY-MM-DD HH24:MI:SS,即年-月-日 小时:分钟:秒。

  2. 系统级别设置
    如果你希望在数据库层面设置一个全局的 NLS_DATE_FORMAT,以便所有新建的会话都遵循这个格式,可以修改数据库初始化参数文件(init.ora 或 spfile.ora)中的 NLS_DATE_FORMAT。
    在 init.ora 文件中添加或修改以下内容:
    NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'
    修改后,需要重启数据库使设置生效。

  3. 查询当前的 NLS_DATE_FORMAT 设置
    你可以查询当前会话的 NLS_DATE_FORMAT 设置,使用如下 SQL 语句:
    SELECT value FROM v$nls_parameters WHERE parameter = 'NLS_DATE_FORMAT';
    或者:
    SHOW PARAMETER NLS_DATE_FORMAT;

  4. 常见的日期格式
    'YYYY-MM-DD':年-月-日。
    'DD-MON-YYYY':日-月-年(如 23-JAN-2025)。
    'MM/DD/YYYY':月/日/年(如 01/23/2025)。
    'YYYY/MM/DD HH24:MI:SS':年/月/日 小时:分钟:秒(如 2025/01/23 14:35:20)。

注意事项
NLS_DATE_FORMAT 只影响日期的显示格式,并不改变日期在数据库中存储的格式。Oracle 内部存储日期是以标准的二进制格式存储的,格式设置只是影响输出。
修改 NLS_DATE_FORMAT 对 SQL 查询结果的显示有影响,但对日期数据类型的输入没有影响。例如,插入日期时,Oracle 会自动解析你输入的日期字符串,无论 NLS_DATE_FORMAT 如何设置,只要格式符合默认的或指定的日期格式。

posted @   老牛的田  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示