首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从月份和日期格式减去MySQL日期

从月份和日期格式减去MySQL日期
EN

Stack Overflow用户
提问于 2019-11-02 04:53:52
回答 2查看 204关注 0票数 0

我有一个愚蠢的问题,我想在curdate()和接下来的30天内,从被格式化为DD-MON (10-11月,15-11月等)的MySQL列"increment_date“中找出无一天。

在比较curdate()时,我尝试从该日期获得8,13的值。

tbl_officer

代码语言:javascript
复制
+--------+-----------+----------------+
| in_num | last_name | increment_date |
+--------+-----------+----------------+
|      1 | AA        | 10-Nov         |
|      2 | BB        | 12-Nov         |
|      3 | CC        | 20-Dec         |
|      4 | DD        | 22-Dec         |
+--------+-----------+----------------+

我使用了以下代码来完成这个任务

代码语言:javascript
复制
select last_name 
  from tbl_officer
 where increment_date>= DATE(curdate()) 
   and increment_date<= DATE_SUB(DATE(curdate()), INTERVAL 31 DAY)

但是代码输出的结果是空的。可能出什么问题了?有人能帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2019-11-02 05:02:29

编辑:

用于将不同格式的字符串数据转换为日期值的STR_TO_DATE函数。

您的表数据没有年份值,因此我们需要动态地追加当前年份,例如:

代码语言:javascript
复制
SELECT * FROM tbl_officer where STR_TO_DATE(CONCAT(increment_date, '-2019'), "%d-%b-%Y")
BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 31 DAY);

因此,我将如何完成它:

代码语言:javascript
复制
SELECT * FROM tbl_officer where STR_TO_DATE(CONCAT(increment_date, '-', YEAR(NOW())), "%d-%b-%Y") 
BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 31 DAY);
票数 2
EN

Stack Overflow用户

发布于 2019-11-02 05:50:54

我想你想要这样的东西(小提琴):

创建并填充表:

代码语言:javascript
复制
CREATE TABLE tbl_officer
(
  in_num INTEGER NOT NULL,
  last_name VARCHAR (25) NOT NULL,
  increment_date VARCHAR (10) NOT NULL
);

INSERT INTO tbl_officer VALUES (1, 'AA', '10-Nov'), (2, 'BB', '12-Nov'), (3, 'CC', '20-Dec'),
(4, 'DD', '22-Dec'), (5, 'XX', '15-Nov');  -- XX added for testing

然后运行这个SQL (小提琴中有几个中间步骤):

代码语言:javascript
复制
SELECT last_name 
FROM tbl_officer
WHERE STR_TO_DATE(CONCAT(increment_date, '-2019'), "%d-%M-%Y") >= CURDATE() 
AND   STR_TO_DATE(CONCAT(increment_date, '-2019'), "%d-%M-%Y") <= DATE_ADD(CURDATE(), INTERVAL 1 MONTH);

结果:

代码语言:javascript
复制
last_name
       AA
       BB
       XX
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58668340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档