gpt4 book ai didi

mysql - MYSQL对不完整日期的操作

转载 作者:行者123 更新时间:2023-11-29 00:52:06 25 4
gpt4 key购买 nike

我需要在 2 个日期上执行操作(在本例中为 DATEDIFF())。但至少其中一个日期不完整。

例如:DATEDIF('2010-01-00','2010-02-01') OR DATEDIF('2010-01-00','2010-02-00') 将返回 NULL

的确,在http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff ,手册,它说 DATEDIF 不能处理不完整的日期,因为所有日期算术函数。

因为我不能,不想改变我的数据库,我真的需要做这个操作,你知道一个方法吗?一个技巧?

即使我的实际问题是执行此 DATEDIF,我通常也会询问。

最佳答案

您可以使用 IF 和 CONCAT 检查不完整的日期并将 00 替换为 01。

IF ( isnull(CONCAT(v6.title,v7.title,v8.title)), IF ( isnull(CONCAT(v7.title,v8.title)), v8.title, 
CONCAT(v7.title,\'.\',v8.title) ),
CONCAT(v6.title,\'.\',v7.title,\'.\',v8.title) ) AS "Datum",
IF ( isnull(CONCAT(v9.title,v10.title)) & isnull(CONCAT(v11.title, v12.title)), v13.title,
IF ( isnull(CONCAT(v9.title,v10.title)) & isnull(v13.title), CONCAT(v11.title,\'-\', v12.title),
IF ( isnull(CONCAT(v11.title,v12.title)) & isnull(v13.title), CONCAT(v9.title,\':\', v10.title, \' Uhr\'),
"Hello World" ) ) ) AS "Uhrzeit",

关于mysql - MYSQL对不完整日期的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8069725/

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