TIMESTAMP

类型为 TIMESTAMP 的项是一串 1 到 20 位单字节数字,反映特定时刻。每一位的含义由声明该项时指定的掩码确定的。

指定掩码时将按顺序提供下列字符:
yyyy
表示年份的四位数字。范围是 0000 到 9999。
MM
表示月份的两位数字。范围是 01 到 12。
dd
表示日子的两位数字。范围是 01 到 31。
HH
表示小时的两位数字。范围是 00 到 23。
mm
表示分钟的两位数字。范围是 00 到 59。
ss
表示秒数的两位数字。范围是 00 到 59。
f
0 到 6 位数字,每个数字表示秒的尾数,第一位表示十分之几,第二位表示百分之几,依此类推。

缺省掩码为 yyyyMMddHHmmss

当您与 DB2® 进行交互(直接或通过 JDBC),必须指定从年份(yyyy)到秒数( ss)的每个部分。在其它上下文中,以下描述是适用的:
  • 掩码的开头或结尾可以使用指定种类的零字符,但不能跳过中间的字符。
  • 有效掩码包括下列各项:
      yyyyMMddHHmmss
      yyyy
      MMss
  • 下列掩码因为缺少中间字符而无效:
      // NOT valid
      ddMMssffffff
      HHssff
如果是缺省掩码(yyyyMMddHHmmss)起作用,并且该项是用在使用 EBCDIC 的主机环境上,则示例值的内部十六进制表示如下所示:
  // 8:05:10 o'clock on 12 January 2005
  F2 F0 F0 F5 F0 F1 F1 F2 F0 F8 F0 F5 F1 F0

如果是缺省掩码(yyyyMMddHHmmss)起作用,并且该项是用在使用 ASCII 的 Windows® 2000 这样的工作站环境上,则示例值的内部十六进制表示如下所示:

  // 8:05:10 o'clock on 12 January 2005
  32 30 30 35 30 31 31 32 30 38 30 35 31 30
类型为 TIMESTAMP 的项可与类型为 TIMESTAMP 的项或类型为 DATE、TIME、NUM 或 CHAR 的项进行比较(或相互赋值)。但是,如果指定无效的值,则在开发时可能会发生错误。下面是一个示例:
   // NOT valid because February 30 is not a valid date
   myTS timestamp("yyyymmdd"); 
   myTS = "20050230";
如果完整掩码的开头缺少字符(例如,如果掩码为“dd”),则 EGL 假定高级字符(在此情况下为“yyyyMM”)表示当前时刻以符合机器时钟。下列语句导致二月份出现运行时错误:
   // NOT valid because February 30 is not a date
   myTS timestamp("dd"); 
   myTS = "30";

总之,类型为 TIMESTAMP 的项可从关系数据库接收数据,也可以向关系数据库提供数据。

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.