时间计算

时间可以被减、加或减。

减法:从另一个TIME2 ) 从另一个时间 ( TIME1 ) 得出的结果是一个时间持续量,用于指定两个时间之间的小时、分钟和秒数。 结果的数据类型为 DECIMAL(6,0)。 如果 TIME1 大于或等于 TIME2TIME2TIME1。 如果 TIME1 小于 TIME2 ,则 TIME1TIME2 ,并将结果的符号设为负数。 以下操作步骤描述阐明了操作步骤 RESULT = TIME1 - TIME2

时间减法: 结果 = time1 - time2
  • 如果 SECOND(TIME2) <= SECOND(TIME1) ,那么 SECOND(RESULT) = SECOND(TIME1) - SECOND(TIME2)
  • 如果 SECOND(TIME2) > SECOND(TIME1)SECOND(RESULT) = 60 + SECOND(TIME1) - SECOND(TIME2)MINUTE(TIME2) 的值都增加1。
  • 如果 MINUTE(TIME2) <= MINUTE(TIME1) ,那么 MINUTE(RESULT) = MINUTE(TIME1) - MINUTE(TIME2)
  • 如果 MINUTE(TIME2) > MINUTE(TIME1)MINUTE(RESULT) = 60 + MINUTE(TIME1) - MINUTE(TIME2)HOUR(TIME2) 的值都增加1。
  • HOUR(RESULT) = HOUR(TIME1) - HOUR(TIME2).

例如, TIME('11:02:26') - '00:32:56' 的结果是“102930”(持续时间为10小时29分30秒)。 在这个例子中,请注意第二个操作数不需要转换为时间。 根据 SQL中日期时间运算描述的减法规则之一,如果第一个操作数是时间,则第二个操作数可以是时间的字符串表示形式。

时间的增加和减少 :在时间上增加一个持续时间,或在时间上减少一个持续时间,其结果本身就是一个时间。 任何溢出或不足的时间都会被舍弃,从而确保结果始终是时间。 如果增加或减少小时数,则仅小时数部分会受到影响。 将时间“00:00:00”加24小时,结果为“24:00:00”。 然而,将任何其他时间加24小时,结果仍是相同的时间;例如,将时间“00:00:59”加24小时,结果仍是时间“00:00:59”。 分和秒保持不变。

同样,如果增加或减少分钟数,则只会影响分钟数,必要时也会影响小时数。 秒数部分保持不变。

增加或减少几秒钟会影响时间的秒数部分,并可能影响分钟和小时。

时间长短,无论是正数还是负数,都可以在时间上相加或相减。 结果是以小时、分钟和秒为单位,按指定顺序递增或递减。 因此, TIME1 + X ,其中 X 是正数DECIMAL(6,0),等效于表达式
  TIME1 + HOUR(X) HOURS + MINUTE(X) MINUTES + SECOND(X) SECONDS