各位用户为了找寻关于Mysql日期查询的详细介绍的资料费劲了很多周折。这里教程网为您整理了关于Mysql日期查询的详细介绍的相关资料,仅供查阅,以下为您介绍关于Mysql日期查询的详细介绍的详细内容
查询当前日期
? 1 2SELECT
CURRENT_DATE
();
SELECT
CURDATE();
查询当前日期和时间
? 1SELECT
NOW();
查询今天的数据
? 1 2SELECT
*
FROM
`表名`
WHERE
TO_DAYS(NOW()) = TO_DAYS(`字段`);
SELECT
*
FROM
`表名`
WHERE
TO_DAYS(NOW()) - TO_DAYS(`字段`) = 0;
查询昨天的数据
? 1 2 3 4SELECT
*
FROM
``表名``
WHERE
TO_DAYS(`字段`) = TO_DAYS(NOW()) -1;
SELECT
*
FROM
``表名``
WHERE
TO_DAYS(`字段`) - TO_DAYS(NOW()) = -1;
SELECT
*
FROM
``表名``
WHERE
TO_DAYS(NOW()) = TO_DAYS(`字段`) +1;
SELECT
*
FROM
``表名``
WHERE
TO_DAYS(NOW()) - TO_DAYS(`字段`) = 1;
查询最近七天的数据
? 1SELECT
*
FROM
`表名`
WHERE
DATE_SUB(CURDATE(),INTERVAL 7
DAY
) <=
DATE
(`字段`);
查询最近三十天的数据
? 1SELECT
*
FROM
table
WHERE
DATE_SUB(CURDATE(),INTERVAL 30
DAY
) <=
DATE
(`字段`);
查询本周的数据
? 1 2 3 4SELECT
*
FROM
`表名`
WHERE
YEARWEEK(date_format(`字段`,
'%Y-%m-%d'
)) = YEARWEEK(CURDATE());
SELECT
*
FROM
`表名`
WHERE
YEARWEEK(date_format(`字段`,
'%Y-%m-%d'
)) - YEARWEEK(CURDATE()) = 0;
SELECT
*
FROM
`表名`
WHERE
YEARWEEK(DATE_FORMAT(`字段`,
'%Y-%m-%d'
)) = YEARWEEK(DATE_FORMAT(CURDATE(),
'%Y-%m-%d'
));
SELECT
*
FROM
`表名`
WHERE
YEARWEEK(DATE_FORMAT(`字段`,
'%Y-%m-%d'
)) - YEARWEEK(DATE_FORMAT(CURDATE(),
'%Y-%m-%d'
)) = 0;
查询上周的数据
? 1 2 3 4SELECT
*
FROM
`表名`
WHERE
YEARWEEK(DATE_FORMAT(`字段`,
'%Y-%m-%d'
)) = YEARWEEK(DATE_FORMAT(CURDATE(),
'%Y-%m-%d'
)) - 1;
SELECT
*
FROM
`表名`
WHERE
YEARWEEK(DATE_FORMAT(`字段`,
'%Y-%m-%d'
)) - YEARWEEK(DATE_FORMAT(CURDATE(),
'%Y-%m-%d'
)) = -1;
SELECT
*
FROM
`表名`
WHERE
YEARWEEK(DATE_FORMAT(`字段`,
'%Y-%m-%d'
)) = YEARWEEK(CURDATE()) - 1;
SELECT
*
FROM
`表名`
WHERE
YEARWEEK(DATE_FORMAT(`字段`,
'%Y-%m-%d'
)) - YEARWEEK(CURDATE()) = -1;
查询当月的数据
? 1 2 3SELECT
*
FROM
`表名`
WHERE
DATE_FORMAT(`字段`,
'%Y-%m'
) = DATE_FORMAT(CURDATE(),
'%Y-%m'
);
SELECT
*
FROM
`表名`
WHERE
MONTH
(`字段`) -
MONTH
(NOW()) = 0;
SELECT
*
FROM
`表名`
WHERE
MONTH
(`字段`) =
MONTH
(NOW());
查询上月的数据
? 1SELECT
*
FROM
`表名`
WHERE
DATE_FORMAT(`字段`,
'%Y-%m'
) = DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1
MONTH
),
'%Y-%m'
);
查询本季度的数据
? 1SELECT
*
FROM
`表名`
WHERE
QUARTER(`字段`) = QUARTER(NOW())
AND
YEAR
(`字段`) =
YEAR
(NOW());
查询上季度的数据
? 1SELECT
*
FROM
`表名`
WHERE
QUARTER(`字段`) = QUARTER(DATE_SUB(NOW(),INTERVAL 1 QUARTER))
AND
YEAR
(`字段`) =
YEAR
(NOW());
查询上半年(六个月)的数据
? 1SELECT
*
FROM
`表名`
WHERE
`字段`
BETWEEN
DATE_SUB(NOW(),INTERVAL 6
MONTH
)
AND
NOW();
查询今年的数据
? 1 2 3 4SELECT
*
FROM
`表名`
WHERE
DATE_FORMAT(`字段`,
'%Y'
) = DATE_FORMAT(NOW(),
'%Y'
);
SELECT
*
FROM
`表名`
WHERE
DATE_FORMAT(`字段`,
'%Y'
) - DATE_FORMAT(NOW(),
'%Y'
) = 0;
SELECT
*
FROM
`表名`
WHERE
YEAR
(NOW()) =
YEAR
(`字段`);
SELECT
*
FROM
`表名`
WHERE
YEAR
(NOW()) -
YEAR
(`字段`) =0;
查询去年的数据
? 1 2 3SELECT
*
FROM
`表名`
WHERE
DATE_FORMAT(`字段`,
'%Y'
) - DATE_FORMAT(NOW(),
'%Y'
) = -1;
SELECT
*
FROM
`表名`
WHERE
YEAR
(NOW()) =
YEAR
(`字段`) + 1;
SELECT
*
FROM
`表名`
WHERE
YEAR
(NOW()) -
YEAR
(`字段`) = 1;
到此这篇关于Mysql之日期查询的详细介绍的文章就介绍到这了,更多相关Mysql之日期查询内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://blog.csdn.net/weixin_42949841/article/details/106981970