DBTIME 环境变量对 DATETIME 值的显示和数据输入格式指定格式编排掩码。
只有在 DBTIME 要格式化的 DATETIME 数据值具有与指定的 DBTIME 设置相同精度的情况下,DBTIME 环境变量才有用。对于用不同 DATETIME
限定符声明的 DATETIME 值,您可能会遇到意外或无效的显示格式。
- literal
- 是文字空格或任何可打印字符。
- min
- 是一个文字整数,设置 special 指定的值的子串中的最小字符数。
- precision
- 是任何时间单位的值的位数或月份名中的最大字符数。
- special
- 为以下列示的占位符之一。
这个引号括起来的字符串可以包括字面的字符以及 DATETIME 值的个别时间单位和其他元素值的占位符。DBTIME 仅在您调用某些 GBase 8s ESQL/C DATETIME 例程时起作用。(有关详细信息,请参阅 GBase 8s ESQL/C 程序员手册。)如果未设置 DBTIME,那么表示未定义这些例程的行为,且“YYYY-MM-DD hh:mm:ss.fffff”是缺省语言环境中的 DATETIME YEAR TO FRACTION(5) 文字值的缺省显示和输入格式。
百分比 ( % ) 符号给予后跟的 special 占位符很特殊的意义。如果没有前导 % 符号,格式化掩码内的任何字符都被解释为文字字符,即使它与以下列表中的占位符字符之一是相同字符。此外还需注意 special
占位符符号是区分大小写的。
DBTIME 格式字符串内的下列字符是 DATETIME 值内的时间单位(或其他功能)的占位符。
- %b
- 由缩写月份名替换。
- %B
- 由完整月份名替换。
- %d
- 由十进制数形式的月份中的一天 [01,31] 替换。
- %Fn
- 由带有整数 n 指定的小数位的秒的小数替换。n 的缺省值为 2;n 的范围为 0 ≤ n ≤ 5。
- %H
- 由小时(24 小时时钟)替换。
- %I
- 由小时(12 小时时钟)替换。
- %M
- 由十进制数形式的分钟 [00,59] 替换。
- %m
- 由十进制数形式的月份 [01,12] 替换。
- %p
- 由 A.M. 或 P.M.(或语言环境文件中的等效值)替换。
- %S
- 由十进制数形式的秒 [00,59] 替换。
- %y
- 由四位十进制数的年份替换。
- %Y
- 由四位十进制数的年份替换。用户必须输入四位值。
- %%
- 替换为 %(以允许格式字符串中出现 %)。
例如,考虑 DATETIME YEAR TO SECOND 的以下显示格式:
Mar 21, 2001 at 16 h 30 m 28 s
如果用户输入两位年份值,那么此值根据 DBCENTURY 环境变量设置展开为 4 位。如果未设置 DBCENTURY,那么在缺省情况下使用字符串 19 作为头两位。
按以下命令行(用于 C shell)所示设置
DBTIME:
setenv DBTIME '%b %d, %Y at %H h %M m %S s'
缺省
DBTIME 生成以下 ANSI SQL 字符串格式:
2001-03-21 16:30:28
可按以下示例所示设置缺省
DBTIME:
setenv DBTIME '%Y-%m-%d %H:%M:%S'
可选字段宽度和精度规范 (w.p) 可直接跟在百分比 (%) 字符之后。它解释为如下所示:
- w
- 指定最小字段宽度。该值是右对齐的,左边填充空格。
- -w
- 指定最小字段宽度。该值是左对齐的,右边填充空格。
- 0w
- 指定最小字段宽度。该值是靠右对齐的,并在左侧使用零填充。
- p
- 指定d、H、I、m、M、S、y
和 Y 时间单位值的精度或 b 和 B 月份名中的最大字符数。
下列限制适用于字段宽度和精度规范:
- 如果数据值提供的位数少于 precision 指定的位数,那么使用前导零填充该值。
- 如果数据值提供的字符数超过 precision 指定的字符数,那么从右边截断超出的字符。
- 如果没有为 d、H、I、m、M、S 或 y 占位符指定字段宽度或精度,那么缺省值为 0.2 或 0.4(对于 Y 占位符)。
- 仅当将 DATETIME 值转换为 ASCII 字符串时,precision 规范才有意义,但反过来却不是这样。
与 DBDATE、GL_DATE 或 GL_DATETIME 一样,DBTIME 设置仅控制数据值的字符串表示;它不能更改 DATETIME 列的内部存储格式。(有关确定 DATE 值的格式的信息,请参阅 DBDATE 环境变量页中对 DBDATE 的讨论。)
在支持基于纪元的日期的东亚语言环境中,DBTIME
还可指定日本或台湾纪元。请参阅《GBase 8s GLS 用户指南》以获取有关设置 DBTIME 以显示基于纪元的 DATETIME 值的更多占位符符号的详细信息以及对 GL_DATETIME 和 GL_DATE 环境变量的描述。