helong0420 2024-04-18 11:58 采纳率: 100%
浏览 50
已结题

达梦数据库查询指定月份的每一天

达梦数据库怎么获取指定月份的每一天?
有没有类似于再sql数据中可以直接查询的,sql数据库查询语句如下:
SELECT CONVERT(VARCHAR(100), CAST(CONVERT(varchar(7), '2024-02-01') + '-' + CONVERT(VARCHAR(2), number + 1) AS datetime), 23) FROM master..spt_values WHERE type='p' AND DATEADD(day, number, cast(CONVERT(varchar(7),'2024-02-01')+'-01' as datetime))< DATEADD(MONTH, 1, cast(CONVERT(varchar(7), '2024-02-01') + '-01' as datetime))
最终想要的结果如下:

img

  • 写回答

3条回答 默认 最新

  • GISer Liu 2024-04-18 12:06
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    首先,针对问题描述,您想要在达梦数据库中获取指定月份的每一天。与SQL数据库不同,达梦数据库并没有像``` master..spt_values

    我的解决思路如下:
    1. 使用递增的数字序列生成指定月份的每一天。
    2. 利用日期函数和条件判断来筛选出指定月份的日期。
    下面是具体的解决方案:
    sqlCopy code
    

    -- 生成指定月份的每一天
    SELECT TO_CHAR(TRUNC(TO_DATE('2024-02-01', 'YYYY-MM-DD'), 'MM') + LEVEL - 1, 'YYYY-MM-DD') AS day
    FROM DUAL
    CONNECT BY LEVEL <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE('2024-02-01', 'YYYY-MM-DD')), 'DD'));
    -- 解析:
    -- TO_DATE('2024-02-01', 'YYYY-MM-DD') 将字符串 '2024-02-01' 转换为日期类型
    -- TRUNC(TO_DATE('2024-02-01', 'YYYY-MM-DD'), 'MM') 将日期截断至月初
    -- LEVEL 为伪列,表示从 1 开始的递增序列
    -- CONNECT BY LEVEL <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE('2024-02-01', 'YYYY-MM-DD')), 'DD')) 生成 1 到当月天数的序列
    -- 筛选出指定月份的日期
    SELECT TO_CHAR(TRUNC(TO_DATE('2024-02-01', 'YYYY-MM-DD'), 'MM') + LEVEL - 1, 'YYYY-MM-DD') AS day
    FROM DUAL
    CONNECT BY LEVEL <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE('2024-02-01', 'YYYY-MM-DD')), 'DD'))
    AND TO_DATE('2024-02-01', 'YYYY-MM-DD') <= TRUNC(TO_DATE('2024-02-01', 'YYYY-MM-DD'), 'MM') + LEVEL - 1;
    -- 解析:
    -- 添加条件:TO_DATE('2024-02-01', 'YYYY-MM-DD') <= TRUNC(TO_DATE('2024-02-01', 'YYYY-MM-DD'), 'MM') + LEVEL - 1
    -- 通过比较确保日期在指定月份内

    ```
    这段代码首先生成了指定月份的每一天,然后通过条件筛选出在指定月份内的日期。
    希望这个解决方案对您有帮助!

    如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月18日

悬赏问题

  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路
  • ¥15 内网办公电脑进行向日葵
  • ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
  • ¥50 WPF Lidgren.Network.Core2连接问题
  • ¥15 soildworks装配体的尺寸问题
  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M