GBase V8.8 TIME类型

GBase 8s以‘HH:MM:SS’格式(或者使用'HHH:MM:SS'格式)检索和显示TIME值。TIME值的范围可以从‘-838:59:59’到‘838:59:59’。小时部分可以这么大的原因是,TIME类型不仅可以用于表示一天的时间(这一定不会超过24小时),而且可以用来表示所经过的时间或两个事件之间的时间间隔(这可能比24小时大许多或是一个负值)。

TIME值可以多种格式指定:

一个‘DHH:MM:SS.fraction’格式的字符串。下面所示的任一种“宽松”的语法均可以被使用:‘HH:MM:SS.fraction’,‘HH:MM:SS’,‘HH:MM’,‘DHH:MM:SS’,‘DHH:MM’,‘DHH’,或‘SS’。这里的D是一个在0-34之间的天数。注意,GBase 8s不能存储毫秒、“fraction”部分;

一个无定界符的‘HHMMSS’格式的字符串,只要字符串看起来像是一个时间。例如:‘101112’可被理解为‘10:11:12’,但是‘109712’是不合法的(它有一个无意义的分钟部分),当被插入时会转换为‘00:00:00’;

一个HHMMSS格式的数值,只要数值看起来像一个时间。例如,101112可被理解为‘10:11:12’。下面的任一格式均可被正常理解:SS、MMSS、HHMMSS、HHMMSS.fraction。注意,GBase 8s不能保存毫秒(fraction)部分。

在一个TIME上下文中,函数(例如CURRENT_TIME)的返回值将会返一个合理的格式。

在GBase 8s企业管理中,仅支持以“HH:MM:SS”格式对TIME类型进行赋值。

对于以字符串指定的包含时间定界符的TIME值,不必要为小于10的时、分或秒指定2位数值。‘8:3:2’与‘08:03:02’是一致的。

将“短”的TIME值赋给另一个TIME列时要格外小心。如果没有冒号,GBase 8s使用最右位代表秒的假设来解释值。(GBase 8s将TIME值解释为经过的时间,而不是时刻)。例如,用户可能会认为‘1112’和1112的意思就是‘11:12:00’(11点过12分),但是GBase 8s却将它解释为‘00:11:12’(11分,12秒)。同样的,‘12’和12被解释为‘00:00:12’。有冒号的TIME值,由于冒号的存在,通常认为是处理过的时刻。这就是说,‘11:12’就意味着是‘11:12:00’,而不是‘00:11:12’。

如果值超出了TIME的范围,但是其它分、秒部分是合法的,它将被剪切到取值范围的适当端点。例如,‘-850:00:00’和‘850:00:00’将被分别转换为‘-838:59:59’和‘838:59:59’。

不合法的TIME值将被转换为‘00:00:00’。注意,因为‘00:00:00’自身是一个合法的TIME值,这就没有办法区分,存储在一个表中的‘00:00:00’,原来的值是否就是指定为‘00:00:00’或是一个不合法的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值