亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從日期范圍生成天數

從日期范圍生成天數

繁花不似錦 2019-06-01 16:17:22
從日期范圍生成天數我想運行這樣的查詢select ... as days where `date` is between '2010-01-20' and '2010-01-24'并返回如下數據:days ---------- 2010-01-20 2010-01-21 2010-01-22 2010-01-23 2010-01-24
查看完整描述

4 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

下面是使用視圖的另一個變體:

CREATE VIEW digits AS
  SELECT 0 AS digit UNION ALL
  SELECT 1 UNION ALL
  SELECT 2 UNION ALL
  SELECT 3 UNION ALL
  SELECT 4 UNION ALL
  SELECT 5 UNION ALL
  SELECT 6 UNION ALL
  SELECT 7 UNION ALL
  SELECT 8 UNION ALL
  SELECT 9;CREATE VIEW numbers AS
  SELECT
    ones.digit + tens.digit * 10 + hundreds.digit * 100 + thousands.digit * 1000 AS number  FROM
    digits as ones,
    digits as tens,
    digits as hundreds,
    digits as thousands;CREATE VIEW dates AS
  SELECT
    SUBDATE(CURRENT_DATE(), number) AS date  FROM
    numbers;

然后你可以簡單地做(看看它有多優雅?):

SELECT
  dateFROM
  datesWHERE
  date BETWEEN '2010-01-20' AND '2010-01-24'ORDER BY
  date

更新

值得注意的是,您只能生成從當前日期開始的過去日期..如果要生成任何類型的日期范圍(過去、未來和兩者之間),則必須使用此視圖:

CREATE VIEW dates AS
  SELECT
    SUBDATE(CURRENT_DATE(), number) AS date  FROM
    numbers  UNION ALL
  SELECT
    ADDDATE(CURRENT_DATE(), number + 1) AS date  FROM
    numbers;


查看完整回答
反對 回復 2019-06-01
  • 4 回答
  • 0 關注
  • 693 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號