MySQL是一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。在開發(fā)過程中,經(jīng)常需要進行數(shù)據(jù)查詢和計算。當(dāng)我們需要獲取指定月份的第一天時,可以使用MySQL提供的函數(shù)來實現(xiàn)。
SELECT DATE_FORMAT(DATE_SUB(DATE_SUB(NOW(), INTERVAL DAY(NOW())–1 DAY), INTERVAL 1 MONTH), '%Y-%m-%d');
以上代碼中,NOW()
表示當(dāng)前日期。通過DAY(NOW())-1 DAY
獲取當(dāng)前月份的天數(shù),再通過DATE_SUB()
函數(shù)獲取當(dāng)前月份的第一天。最后使用DATE_FORMAT()
函數(shù)將日期格式化為標(biāo)準(zhǔn)格式。
在實際應(yīng)用中,我們可以將以上代碼封裝為一個函數(shù)來調(diào)用:
DELIMITER $$ CREATE FUNCTION FIRST_DAY_OF_MONTH(month INT, year INT) RETURNS DATE BEGIN RETURN DATE_FORMAT(DATE_SUB(DATE_SUB(CONCAT_WS('-', year, month, 1), INTERVAL DAY(CONCAT_WS('-', year, month, 1))-1 DAY), INTERVAL 1 MONTH), '%Y-%m-%d'); END$$ DELIMITER ;
以上函數(shù)的參數(shù)分別為month
和year
,表示需要獲取的月份和年份。在函數(shù)中,我們使用CONCAT_WS()
函數(shù)將月份和年份拼接為日期字符串,并使用DATE_SUB()
函數(shù)獲取該日期字符串對應(yīng)月份的第一天。最后使用DATE_FORMAT()
函數(shù)將日期格式化。
使用以上函數(shù),我們可以輕松地獲取指定月份的第一天:
SELECT FIRST_DAY_OF_MONTH(7,2021);
以上查詢語句將返回2021年7月份的第一天:2021-07-01。
上一篇mysql求時間分鐘差
下一篇css 表頭居中