DBDATE 环境变量

使用 DBDATE 环境变量可以指定 DATE 值的最终用户格式。

在使用 C shell 的 UNIX™ 系统上,使用以下语法设置 DBDATE

下列格式化符号在 DBDATE 设置中有效:

- . /
是在日期格式中可作为分隔符存在的字符。
0
指示时间单位之间不显示任何分隔符。
D 和 M
是表示日和月的字符。
Y2 和 Y4
是表示年份和年份精度的字符。

一些东亚语言环境支持基于纪元的日期的附加语法。有关基于纪元的格式的详细信息,请参阅《GBase 8s GLS 用户指南》。

DBDATE 可指定显示格式的下列属性:
  • 日期中时间单位的顺序(月、日和年)
  • 年份是以两位数字 (Y2) 还是四位数字 (Y4) 的形式显示
  • 月、日和年时间单位之间的分隔符

对于“美国英语”语言环境,DBDATE 的缺省值为 MDY4/,其中 M 表示月,D 表示日,Y4 表示四位的年份,而斜杠 ( / ) 表示时间单位分隔符(例如,01/08/2011)。可充当分隔符的其他有效字符包括连字符 ( - )、句点 ( . ) 或零 (0)。要指示没有分隔符,请使用零。如果尝试指定连字符、句点或零以外的字符作为分隔符,或者未在 DBDATE 规范中加入任何分隔符,那么缺省情况下会使用斜杠 ( / )。

如果未在客户机上设置 DBDATE,那么数据库服务器上的任何 DBDATE 设置会覆盖客户机上的 MDY4/ 缺省值。如果在客户机上设置了 DBDATE,那么客户机会使用该值(而不是数据库服务器上的设置)。

下表显示了有效 DBDATE 设置的一些示例以及它们对应于日期 2011 年 1 月 8 日的显示:
DBDATE 设置 2011 年 1 月 8 日的表示法:   DBDATE 设置 2011 年 1 月 8 日的表示法:
MDY4/ 01/08/2011   Y2DM. 11.08.01
DMY2- 08-01-11   MDY20 010811
MDY4 01/08/2011   Y4MD* 2011/01/08
格式 Y4MD*(因为星号不是有效分隔符)和 MDY4(未定义任何分隔符)都会显示缺省符号(斜杠)作为分隔符。
要点: 如果使用 Y2 格式,那么 DBCENTURY 环境变量的设置还会影响在数据输入时对文字 DATE 值求值的方式。

另外,GBase 8s ESQL/C 调用的某些例程可使用 DBTIME 变量(而不是 DBDATE)来将 DATETIME 格式设置为国际规范。有关更多信息,请参阅 DBTIME 环境变量GBase 8s ESQL/C 程序员手册 中对 DBTIME 环境变量的论述。

DBDATE 变量的设置优先于 GL_DATE 环境变量的设置,并且优先于 CLIENT_LOCALE 指定的任何缺省 DATE 格式。有关 GL_DATECLIENT_LOCALE 的信息,请参阅《GBase 8s GLS 用户指南》。

最终用户格式影响下列上下文:
  • 在显示 DATE 值时,GBase 8s 产品使用 DBDATE 环境变量来确定输出的格式。
  • 在 DATE 值的数据输入期间,GBase 8s 产品使用 DBDATE 环境变量来解释输入。

例如,如果在 INSERT 语句中指定文字 DATE 值,那么数据库服务器期望此文字值与 DBDATE 指定的格式兼容。同样,数据库服务器将您指定为 DATE( ) 函数的自变量的日期解释为 DBDATE 格式。