Mysql SYSDATE和以MM-DD格式存储的日期之间的日期差异
我正在建立一个简单的提醒系统,并使用MySQL表来存储日期 我需要为提醒日期存储的关键内容是每月的哪一天和哪一天 但是,用户必须从DatePicker字段中选择值,如下所示: 因此,如果用户希望提醒日期为9月2日,则该日期将以YYYY-MM-DD格式存储在数据库的“日期”字段中,如2014-09-02 我遇到的问题是计算出下个月的截止日期 这是我的示例表:Mysql SYSDATE和以MM-DD格式存储的日期之间的日期差异,mysql,sql,date,Mysql,Sql,Date,我正在建立一个简单的提醒系统,并使用MySQL表来存储日期 我需要为提醒日期存储的关键内容是每月的哪一天和哪一天 但是,用户必须从DatePicker字段中选择值,如下所示: 因此,如果用户希望提醒日期为9月2日,则该日期将以YYYY-MM-DD格式存储在数据库的“日期”字段中,如2014-09-02 我遇到的问题是计算出下个月的截止日期 这是我的示例表: CREATE TABLE `test_table` ( `fldID` int(11) NOT NULL AUTO_INCREMENT
CREATE TABLE `test_table` (
`fldID` int(11) NOT NULL AUTO_INCREMENT,
`fldDate` date DEFAULT NULL,
`fldDateVarChar` varchar(255) DEFAULT NULL,
PRIMARY KEY (`fldID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
一些示例数据:
insert into `test_table`(`fldID`,`fldDate`,`fldDateVarChar`) values (1,'2014-08-28','08-28');
insert into `test_table`(`fldID`,`fldDate`,`fldDateVarChar`) values (2,'2016-10-09','10-09');
insert into `test_table`(`fldID`,`fldDate`,`fldDateVarChar`) values (3,'2014-01-23','01-23');
insert into `test_table`(`fldID`,`fldDate`,`fldDateVarChar`) values (4,'2015-09-18','09-18');
样本数据:
fldID fldDate fldDateVarChar
------------------------------------------
1 2014-08-28 08-28
2 2016-10-09 10-09
3 2014-01-23 01-23
4 2015-09-18 09-18
期望输出:
fldID TODAYS_DATE CalcDate Difference
--------------------------------------------------------------------
1 2014-08-23 2014-08-28 -5
2 2014-08-23 2014-10-09 -47
3 2014-08-23 2014-01-23 212
4 2014-08-23 2014-09-18 -26
对于上述内容,第1行和第4行是相关的/有用的,因为到期日在下个月内
用户使用日期选择器拾取数据。我只对月份和日期感兴趣。这一年并不重要
我还将MM-DD值存储在VARCHAR字段中,以备需要
我想编写一个SQL语句来计算SYSDATE(或NOW())和用户提醒日期的MM-DD部分之间的天数差
如果不在用户的提醒日期后加上年份,我就不能使用DATEDIFF
e、 g.对于“08-28”的MM-DD值,我需要如下内容:
从DUAL中选择DATEDIFF(现在(),'2014-08-28')
但如果我在一年内运行它,它需要:
从DUAL中选择DATEDIFF(现在(),'2015-08-28')
这就是我遇到的问题
我可以在MySQL中实现这一点吗?也许这对您有用:
SELECT fldID,
DATE_FORMAT(NOW(), '%Y-%m-%d') AS TODAYS_DATE,
concat(year(now()),'-',fldDateVarChar) AS CalcDate,
DATEDIFF(NOW(), concat(year(now()),'-',fldDateVarChar)) AS Difference
FROM test_table
在此处测试:您能提供一些示例数据和所需的输出吗?我理解这个问题,但不是你特别想要的。嗨,我已经更新了这个问题,包括样本表、数据和期望的输出,以防有帮助。