簡體   English   中英

帶有 3 個月份字母的日期和月份的 SQL 查詢

[英]SQL query for date and month with 3 letter of month

我有兩列

開始日期 結束日期
2012-03-10 05:57:39.629597 2022-06-03 05:57:39.629597
2010-04-06 05:57:39.629597 2022-05-20 05:57:39.629597

我正在編寫 SQL 查詢以獲取一個輸出,其中包括來自 start_date 的 3 個月份和日期字母,以及 end_date 的逗號分隔相同,例如

時間段
3 月 10 日,6 月 3 日
4 月 6 日,5 月 20 日

所以嘗試了這個

SUBSTRING( MONTHNAME(start_date), 1, 3)  as time_period

並得到這樣的輸出

時間段
三月
四月

如何獲得所需的輸出?

我們可以嘗試使用DAY函數獲取start_dateend_date的數量,然后使用CONCAT函數將它們連接起來。

SELECT CONCAT(LPAD(DAY(start_date), 2, '0'),' ',SUBSTRING(MONTHNAME(start_date), 1, 3),',',LPAD(DAY(end_date), 2, '0'),' ',SUBSTRING(MONTHNAME(end_date), 1, 3)) time_period
FROM t

或者我們可以嘗試將DATE_FORMAT%d%b一起使用

SELECT  CONCAT(DATE_FORMAT(start_date, '%d %b'),',',DATE_FORMAT(end_date, '%d %b'))
FROM t

sqlfiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM