网站首页页面设计模板,怎么创建网站 优帮云,微网站开发价格,沈阳男科医院去哪里问题#xff1a;
有时我们在生成一些时间轴类似的数据时#xff0c;要求数据库不管有没有指定天的数据#xff0c;都要生成该时间节点#xff0c;可用mysql.help_topic来解决此类问题#xff0c;通过序列和日期函数相结合来满足我们的业务需求。
例如#xff1a;查询20…问题
有时我们在生成一些时间轴类似的数据时要求数据库不管有没有指定天的数据都要生成该时间节点可用mysql.help_topic来解决此类问题通过序列和日期函数相结合来满足我们的业务需求。
例如查询2023-05-13与2023-07-13之间的所有日期。
#查询两个日期之间的所有日期
SELECT DATE_FORMAT( DATE_ADD(CONCAT(2023-05-13), INTERVAL(help_topic_id) DAY),%Y-%m-%d) DATA_DATE
FROM mysql.help_topic
WHERE help_topic_id TIMESTAMPDIFF(DAY,CONCAT(2023-05-13),CONCAT(2023-07-13))
ORDER BY DATA_DATE
可以利用 mysql.help_topic 系统表中的 help_topic_id 字段值。其中help_topic本身是Mysql一个帮助解释注释表用于解释Mysql各种专有名词由于这张表数据ID是从0顺序增加的方便我们用于计数但是有最大值一旦超过这个数字我们就需要己自定义一张表。
以上SQL执行情况如下 另附其它日期处理的方法
本周本月本季度本年的第一天和最后一天
#查询本周第一天
SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY) AS TIME#查询本周的最后一天
SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE())-6 DAY) AS TIME#查询本月的第一天
SELECT DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY) AS TIME#查询本月的最后一天
SELECT LAST_DAY(CURDATE()) AS TIME#当前quarter的第一天
select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) interval QUARTER(CURDATE())*3-3 month),%Y-%m-),01); #当前quarter的最后一天
select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) interval QUARTER(CURDATE())*3-1 month);#当年第一天
SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY);#当年最后一天
SELECT concat(YEAR(now()),-12-31); 新增一个星期一个月一个季度一年
#新增一个星期
SELECT DATE_ADD(now(), INTERVAL 1 week) time#新增一个月
SELECT DATE_ADD(now(), INTERVAL 1 month) time#新增一个季度
SELECT DATE_ADD(now(), INTERVAL 1 quarter) time#新增一年
SELECT DATE_ADD(now(), INTERVAL 1 year) time