IBM® Informix® 12.10

DBTIME 环境变量

DBTIME 环境变量对 DATETIME 值的显示和数据输入格式指定格式编排掩码。 只有在 DBTIME 要格式化的 DATETIME 数据值具有与指定的 DBTIME 设置相同精度的情况下,DBTIME 环境变量才有用。对于用不同 DATETIME 限定符声明的 DATETIME 值,您可能会遇到意外或无效的显示格式。
阅读语法图跳过直观语法图
                      .---------------------------------------------------.      
                      V                                                   |      
>>-setenv--DBTIME--'----+-literal---------------------------------------+-+--'-><
                        '-%--+----+--+-----+--+--------------+--special-'        
                             +- --+  '-min-'  '-.--precision-'                   
                             '-0--'                                              

literal
是文字空格或任何可打印字符。
min
是一个文字整数,设置 special 指定的值的子串中的最小字符数。
precision
是任何时间单位的值的位数或月份名中的最大字符数。
special
为以下列示的占位符之一。

这些术语和符号在接下来的几页中作了描述。

这个引号括起来的字符串可以包括字面的字符以及 DATETIME 值的个别时间单位和其他元素值的占位符。DBTIME 仅在您调用某些 IBM® Informix® ESQL/C DATETIME 例程时起作用。(有关详细信息,请参阅 IBM Informix ESQL/C Programmer's Manual。)如果未设置 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
指定dHImMSyY 时间单位值的精度或 bB 月份名中的最大字符数。
下列限制适用于字段宽度和精度规范:
  • 如果数据值提供的位数少于 precision 指定的位数,那么使用前导零填充该值。
  • 如果数据值提供的字符数超过 precision 指定的字符数,那么从右边截断超出的字符。
  • 如果没有为 dHImMSy 占位符指定字段宽度或精度,那么缺省值为 0.20.4(对于 Y 占位符)。
  • 仅当将 DATETIME 值转换为 ASCII 字符串时,precision 规范才有意义,但反过来却不是这样。

F 占位符不支持此文件宽度和精度语法。

DBDATEGL_DATEGL_DATETIME 一样,DBTIME 设置仅控制数据值的字符串表示;它不能更改 DATETIME 列的内部存储格式。(有关确定 DATE 值的格式的信息,请参阅 DBDATE 环境变量页中对 DBDATE 的讨论。)

在支持基于纪元的日期的东亚语言环境中,DBTIME 还可指定日本或台湾纪元。请参阅《IBM Informix GLS 用户指南》以获取有关设置 DBTIME 以显示基于纪元的 DATETIME 值的更多占位符符号的详细信息以及对 GL_DATETIMEGL_DATE 环境变量的描述。


发送反馈 | 示例交流 | 故障诊断

要查找 PDF,请参阅 IBM Informix 12.10 系列产品的出版物
有关发行说明、文档说明和/或机器说明,请参阅发行说明页。
时间戳记 发行日期:2013 年 3 月