1. 程式人生 > >MySQL 獲取某月所有的日期點

MySQL 獲取某月所有的日期點

1、問題

如題目所說,通過MySQL獲取某年某月所有的天數。如獲取2014年2月的所有日期。

想要的結果

2、處理過程

2.1 建立一個數字輔助表

CREATE TABLE `nums` (
  `key` int(11) NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='數字輔助表';

2.2 建立一個儲存過程為數字輔助表增加資料

DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `create_nums`(cnt int unsigned)
BEGIN declare s int unsigned default 1;
truncate table nums; insert into nums select s; while s*2<=cnt do begin insert into nums select `key`+s from nums; set s=s*2; end; end while; END$$ DELIMITER ;

執行儲存過程,增加1-50000進入數字輔助表

call create_nums(50000
);

2.3 通過數字輔助表獲取2014年2月1日到2014年2月31日

select CONCAT('2014-02-',lpad(n.key,2,'0') ) day  from nums n where n.key < 32

2.3 在2.2中得到的資料中小於等於2014年2月最後一天的日期就是我們要的結果

select * from (
select CONCAT('2014-02-',lpad(n.key,2,'0') ) day  from nums n where n.key < 32
) d where d.day <= last_day(DATE_FORMAT('2014-02-01'
,'%Y-%m-%d')) ;

相關推薦

MySQL 獲取所有日期

1、問題 如題目所說,通過MySQL獲取某年某月所有的天數。如獲取2014年2月的所有日期。 2、處理過程 2.1 建立一個數字輔助表 CREATE TABLE `nums` ( `key` int(11) NOT NULL, PRI

MySQL獲取所有日期

1、問題 如題目所說,通過MySQL獲取某年某月所有的天數。如獲取2014年2月的所有日期。 2、處理過程 2.1 建立一個數字輔助表 CREATE TABLE `nums` ( `key` int(11) NOT NULL, PRIMARY KEY (`key

mysql獲取選單下面所有子選單的sql

select * from ( select t1.*, if(find_in_set(ac_pid, @pids) > 0, @pids := concat(@pids, ',', rc_id), 0) as ischild from (

獲取最後一天

function get_debt(num) {//可以傳入number或者string //判斷是否有小數點 var s = num.toString().indexOf("."); if(s == -1){//是整數 return (num || 0).to

使用c#獲取的第一天和的最後一天

        /// <summary>         /// 取得某月的第一天         ///

MySQL獲取天的本月第一天和上個月的第一天

#獲取當前日期 select curdate(); #獲取某天的當月第一天 select date_add('2018-02-17',interval -day('2018-02-17')+1 day) first_day; #獲取某天的當月最後一天 select las

mysql獲取表的所有欄位名

select COLUMN_NAME from information_schema.COLUMNS where table_name = ‘your_table_name’ and table_schema = ‘your_db_name’; 

mybatis mysql獲取當前資料庫所有表與表字段資訊

最近在做一個程式碼生成器,所以就需要獲取到當前表結構資訊,於是搜尋了些相關資料並結合mybatis整理了這篇文章,程式碼相對簡單。1、編寫一個Mapper介面  程式碼如下:import org.apa

如何使用MySQL獲取當前年份月份日期

1、獲取年份select YEAR(CURDATE()); 20182、獲取月份select MONTH(CURDATE()); 43、獲取日期select DATE(CURDATE()); 20

Mysql獲取資料庫的所有表,以及表所有欄位資訊

在許多時候,我們需要獲取資料庫中所有的表,比如常見的程式碼生成,腳手架之類的,通過選擇庫中的表,配置幾個類屬性,自動生成實體類,dao,service等。 下面是mysql獲取資料庫所有表的語句。 select table_name tableName,

js獲取周、、下月、季度的開始日期、結束日期及判斷日期第幾周

weekend return n) nth 結束時間 value rst 獲得 set //格式化日期:yyyy-MM-dd   function formatDate(date) {      var myyear = date.getFullYear();     v

mysql 獲取任意一個所有天數。

rom last mysql first 天數 fir select AD HERE SELECT ADDDATE(y.first, x.d - 1) as dFROM(SELECT 1 AS d UNION ALLSELECT 2 UNION ALLSELECT 3 UN

MySQL 獲取查詢兩日期之間的所有月份、天數、小時數(包含無資料的月份、天數、小時)

這裡主要使用left join,將所有日期放在左邊列出,然後再根據日期時間匹配貼上資料。   示例:獲取10月份的所有日期; select r1.Idxdate,max(t2.val) from (SELECT @num :[email protected] + 1 AS I

mysql獲取前一個日期和前一年的日期

set @dt = now(); select extract(year_month from date_add(@dt, interval -1 month)); select extract(year_month from date_add(@dt, interval -

JAVA 獲取段時間內的所有日期集合

獲取指定日期 public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFo

mysql 獲取當前月的第一天到昨日的所有日期

SELECT ADDDATE(y.first, x.d - 1) as d FROM ( SELECT 1 AS d UNION ALL SELECT 2 UNION ALL SELECT

MySQL如何獲取指定時間段內的所有日期

SELECT DISTINCT date_format( DATE_ADD( '2018-08-20', INTERVAL id DAY ), '%Y-%m-%d' ) AS

獲取一時間段特定星期幾的所有日期(Java實現)

廢話不多說,還是直接上程式碼,有需要的童孩可以自行研究: /** * 獲取某一時間段特定星期幾的日期 * @author finder.zhou */ public class WeekDayUtil { public static void main(Strin

Oracle獲取兩個日期之間的所有日期(年-

前言:在外漂泊,還是身體為重,健康是第一,因為自己扁桃體反覆化膿,做了手術,目前感覺恢復的差不多了,繼續學習和分享。 今天分享的是,使用oracle來查詢兩個日期之間的所有日期,此處指的日期格式是YY

【python】python獲取當前日期前後N天或N日期

color ont mes form localtime col r+ arr nth 1 # -*- coding: utf-8 -*- 2 3 ‘‘‘獲取當前日期前後N天或N月的日期‘‘‘ 4 5 from time import strfti