gpt4 book ai didi

mysql - 如何从 CURDATE() 中减去一个值?

转载 作者:行者123 更新时间:2023-11-30 23:14:27 24 4
gpt4 key购买 nike

我正在尝试获取当天减去五天的值,但我想要特殊格式的结果(不是 MySQL 格式):

SELECT DATE_FORMAT(DATE_SUB( DATE_FORMAT( CURDATE( ) ,  '%d.%m.%Y' ) , INTERVAL -5
DAY ), '%d.%m.%Y')

我更改了 curdate() 的格式和结果的格式,但当天是:

03.09.2013

我得到如下结果:

25.09.2003

有人可以向我解释为什么我无法得到正确结果的错误吗?

最佳答案

首先,您应该减去DATE(或兼容)格式的值,然后将其转换为您想要接收的格式:

SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL -5 DAY), '%d.%m.%Y')

您的查询中的第二个问题是您要减去一个负值,最后添加一个值(例如:10 - (-5) = 15)。您应该使用以下其中一项:

SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '%d.%m.%Y')

SELECT DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL -5 DAY), '%d.%m.%Y')

还有一种更短的方式来编写这个查询:

SELECT DATE_FORMAT(CURDATE() - INTERVAL 5 DAY,  '%d.%m.%Y')

SQLFiddle here

另请参阅:

关于mysql - 如何从 CURDATE() 中减去一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18592395/

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