首页 > 解决方案 > 在管理员上设置 NLS_DATE_FORMAT

问题描述

我正在使用 Adminer 4.7.3 连接到 oracle 数据库,并且我想以与默认格式('DD-MON-YY')不同的格式显示日期。我尝试使用该命令 ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH:MI:SS',但它只持续该查询,并且一旦我再次打开表格,它就会恢复到旧的日期格式。有没有更好的方法来强制日期以不同的格式显示?

标签: oracleadminer

解决方案


你有几个选择。首先,您可以执行

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH:MI:SS'

每次登录。如果您不想这样做,您可以:

  1. 如果您使用 *nix:

    setenv NLS_DATE_FORMAT "dd-mon-yyyy hh:mi:ss"

  2. 如果您使用的是 Windows:

    控制面板-系统-高级系统设置-环境变量,并使用适当的设置创建NLS_DATE_FORMAT环境变量。

  3. 如果您想要一个完全依赖于数据库的解决方案,您可以使用ON LOGON类似于以下的触发器:

    CREATE OR REPLACE TRIGGER DATABASE_AFTER_LOGON AFTER LOGON ON DATABASE BEGIN EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT = ''DD-MON-YYYY HH:MI:SS'''; END DATABASE_AFTER_LOGON;


推荐阅读