gpt4 book ai didi

datetime - Informix:日期时间操作

转载 作者:行者123 更新时间:2023-12-02 14:42:32 25 4
gpt4 key购买 nike

我的表 test1 有 2 个字段:

onlydate DATE
onlytime DATETIME HOUR TO MINUTE

表 test2 中的 1 个字段:

dateandtime DATETIME YEAR TO SECOND

现在我需要附加 onlydate 和 onlytime 字段的值并将其设置为 dateandtime 字段。我该怎么做?

最佳答案

基本问题是:

  1. 将 DATE 转换为 DATETIME - 使用 EXTEND。
  2. 将 DATETIME 转换为 INTERVAL - 使用减法。

组合这两个概念并仅应用于 SELECT:

create temp table td(dateonly date not null, timeonly datetime hour to minute);
insert into td values('2010-05-31', '06:30');
select extend(dateonly, year to second) +
(timeonly - datetime(00:00) hour to minute) from td;

结果就是你想要的:

DATETIME YEAR TO SECOND
2010-05-31 06:30:00

timeonly 中减去午夜,将其转换为 INTERVAL HOUR TO MINUTE;您可以添加 DATETIME YEAR TO SECOND 和 INTERVAL HOUR TO MINUTE,从而获得 DATETIME YEAR TO SECOND。您不能添加两个 DATETIME 值。

因此,严格回答你的问题,你会写:

INSERT INTO Test2(DateAndTime)
SELECT EXTEND(DateOnly, YEAR TO SECOND) +
(TimeOnly - DATETIME(00:00) HOUR TO MINUTE) AS DateAndTime
FROM Test1;

(我使用 DBDATE=Y4MD- 运行,以便显示的日期文字按预期工作。要可靠地插入 DATE 常量,无论 DBDATE 设置如何,请使用 MDY(5,31,2010) .)

关于datetime - Informix:日期时间操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2923223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com