使用 NLS_CALENDAR 参数设置数据库为 'Thai Buddha'
Set up a Database with NLS_CALENDAR parameter as 'Thai Buddha'
我想设置一个数据库 (Oraclelev 12.1.0.2),NLS_CALENDAR
参数为 'Thai Buddha',同时我需要保持字符集为AL32UTF8.
当我在设置时执行此操作时 NLS_CALENDAR
参数不会在数据库级别更改。 SELECT SYSDATE FROM DUAL
returns A.D中的当前日期(年份是 2016,在泰语中应该是 2559)
但是如果我更改会话并将 NLS_CALENDAR
参数设置为 'Thai Buddha' SELECT SYSDATE FROM DUAL
returns 日期 2559
.
是否有任何我应该遵循的特定指南来完成此操作?或者是否有任何其他我应该更改的参数?
设置字符集:
这应该在创建数据库时设置 - 在您输入数据之前。但是如果你不能重新创建数据库,连接为 sysdba
:
SHUTDOWN IMMEDIATE;
STARTUP RESTRICT;
ALTER DATABASE CHARACTER SET AL32UTF8;
或使用migration instructions provided by Oracle
设置日历:
到change NLS
Oracle parameters在数据库级别,你必须使用ALTER SYSTEM ... SCOPE=BOTH
或ALTER DATABASE ...
所以对于你的情况:
ALTER SYSTEM SET NLS_CALENDAR="Thai Buddha" SCOPE=BOTH;
您必须在 Oracle Documentation
中挖掘更多内容
要在默认级别进行更改,您需要进行注册表级别的更改。
如果未设置,NLS_LANG 的默认值为 AMERICAN_AMERICA.US7ASCII。 NLS_CALENDER 的情况也类似。请查看下方 link:
https://docs.oracle.com/cd/B28359_01/win.111/b32010/registry.htm
如果有人还在寻找这个,可以在设置数据库时完成。更改以下 NLS_PARAMETERS
NLS_CALENDAR = 'Thai Buddha';
NLS_DATE_LANGUAGE = 'THAI';
NLS_DATE_FORMAT = 'DD_MM_RR';
这样就可以了。干杯
我想设置一个数据库 (Oraclelev 12.1.0.2),NLS_CALENDAR
参数为 'Thai Buddha',同时我需要保持字符集为AL32UTF8.
当我在设置时执行此操作时 NLS_CALENDAR
参数不会在数据库级别更改。 SELECT SYSDATE FROM DUAL
returns A.D中的当前日期(年份是 2016,在泰语中应该是 2559)
但是如果我更改会话并将 NLS_CALENDAR
参数设置为 'Thai Buddha' SELECT SYSDATE FROM DUAL
returns 日期 2559
.
是否有任何我应该遵循的特定指南来完成此操作?或者是否有任何其他我应该更改的参数?
设置字符集:
这应该在创建数据库时设置 - 在您输入数据之前。但是如果你不能重新创建数据库,连接为 sysdba
:
SHUTDOWN IMMEDIATE;
STARTUP RESTRICT;
ALTER DATABASE CHARACTER SET AL32UTF8;
或使用migration instructions provided by Oracle
设置日历:
到change NLS
Oracle parameters在数据库级别,你必须使用ALTER SYSTEM ... SCOPE=BOTH
或ALTER DATABASE ...
所以对于你的情况:
ALTER SYSTEM SET NLS_CALENDAR="Thai Buddha" SCOPE=BOTH;
您必须在 Oracle Documentation
中挖掘更多内容要在默认级别进行更改,您需要进行注册表级别的更改。
如果未设置,NLS_LANG 的默认值为 AMERICAN_AMERICA.US7ASCII。 NLS_CALENDER 的情况也类似。请查看下方 link:
https://docs.oracle.com/cd/B28359_01/win.111/b32010/registry.htm
如果有人还在寻找这个,可以在设置数据库时完成。更改以下 NLS_PARAMETERS
NLS_CALENDAR = 'Thai Buddha';
NLS_DATE_LANGUAGE = 'THAI';
NLS_DATE_FORMAT = 'DD_MM_RR';
这样就可以了。干杯