类型为 INTERVAL 的项是一串 1 到 20 位单字节数字,反映时间间隔,即两个时间点之间之差。每一位的含义由声明该项时指定的掩码确定。
时间间隔可以是正数(从 2005 减去 1980 时)或负数(从 1980 减去 2005 时),该项的开头有一个额外字节,在掩码中不会显示出来。如果记录中有类型为 INTERVAL 的项,则在计算记录的长度和上级项(如果有的话)的长度时,必须将该额外字节计算在内。
任一情况下,掩码中的每个字符都表示 1 位数字。在跨度为月的格式中,例如,y 的组合指示项中包含多少年。如果只需要 3 位数字来表示年数,则在掩码中指定 yyy。如果需要最大位数(9)来表示年数,则指定 yyyyyyyyy。
在给定掩码中,第一个字符最多可用 9 次(除非另行声明);但每个后续种类字符的使用次数会进一步受到限制。
缺省掩码为 yyyyMM。
yyyyyyMM yyyyyy MM ddHHmmssffffff HHmmssff mmss HHmm
// NOT valid ddmmssffffff HHssff
// 100 years, 2 months; the 4E means the value is positive 4E F0 F1 F0 F0 F0 F2 // 100 years, 2 months; the 60 means the value is negative 60 F0 F1 F0 F0 F0 F2
如果是缺省掩码(yyyyMM)起作用,并且该项是用在使用 ASCII 的 Windows® 2000 这样的工作站环境上,则示例值的内部十六进制表示如下所示:
// 100 years, 2 months; the 2B means the value is positive 2B 30 31 30 30 30 32 // 100 years, 2 months; the 2D means the value is negative 2D 30 31 30 30 30 32
类型为 INTERVAL 的项属于强类型,所以不能将此类型的项与任何其它类型的项进行比较;也不能将此类型的项与其它类型的项相互赋值。
总之,类型为 INTERVAL 的项不能从关系数据库接收数据,也不能向关系数据库提供数据。