gpt4 book ai didi

MySQL:占 DST 的 DATE_SUB/DATE_ADD?

转载 作者:可可西里 更新时间:2023-11-01 06:30:35 27 4
gpt4 key购买 nike

这将返回 1(又名 TRUE)

SELECT DATE_SUB(NOW(), INTERVAL 24*100 HOUR) = DATE_SUB(NOW(), INTERVAL 100 DAY);

100 天前,一天中的时辰没有改变。但是由于夏令时(美国),二十四小时前的 100 个时间段实际上比按天数计算要早一小时。如果上述语句考虑了 DST,它将返回 0FALSE

有没有一种方法可以说明给定语句或 session 的夏令时?我不想使用 UNIX_TIMESTAMP,因为它会切断 2038 年以后的任何内容。

最佳答案

您需要创建一个自定义函数,类似这样。

DELIMITER $$

CREATE FUNCTION DST(ADatetime DATETIME) RETURNS DATETIME
BEGIN
DECLARE result DATETIME;
SET Result = ADatetime;
IF ADatetime >= startDST AND ADateTime <= endDST THEN
result = DATE_SUB(ADatetime, INTERVAL 1 HOUR);
END IF;
RETURN result;
END $$

DELIMITER ;

关于MySQL:占 DST 的 DATE_SUB/DATE_ADD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5748547/

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