You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Informix SQL 如何提取两日期时间相减所得间隔中的整数天数

解决方案

你可以通过以下几种方式实现需求,优先推荐第一种,实现最简单性能最优:

  1. 直接转DATE类型相减(最优)
    由于你的两个时间戳的时间部分固定为00:00:00,直接将两个字段转为DATE类型后相减,得到的结果就是整数天数:
select
   "Date1",
   "Date2",
   DATE("Date1") - DATE("Date2") as "TotalDaysDifference" 
from
   "mytable"
  1. 从间隔类型直接提取天数
    如果你需要保留原间隔计算逻辑,也可以直接将间隔类型强转为天单位的间隔,再转整数即可:
select
   "Date1",
   "Date2",
   CAST(
     extend("Date1", year to fraction(5)) - extend("Date2", year to fraction(5)) 
     AS INTERVAL DAY(9) TO DAY
   )::INTEGER as "TotalDaysDifference" 
from
   "mytable"
  1. 字符串截取方式(兼容特殊场景)
    如果以上两种方式受环境限制不可用,也可以将间隔转成字符串后,截取空格前的部分转为整数:
select
   "Date1",
   "Date2",
   CAST(
     TRIM(SPLIT(TO_CHAR(extend("Date1", year to fraction(5)) - extend("Date2", year to fraction(5))), ' ')[1]) 
     AS INTEGER
   ) as "TotalDaysDifference" 
from
   "mytable"

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:54:00