sql - 输入月份和年份并获得整个月份日期的输出
问题描述
我已经尝试过这段代码,但我想通过使用 where 条件传递月份和年份参数。
WITH d AS
(SELECT TRUNC ( to_date('01.2012','mm.yyyy'), 'MM' ) - 1 AS dt
FROM dual
)
SELECT dt + LEVEL AS date_month
FROM d
CONNECT BY LEVEL <= ADD_MONTHS (dt, 1) - dt
解决方案
您非常接近解决方案,可以这样做
SQL> var mon number;
SQL> var year number;
SQL> begin :mon :=&mon; :year := &year; end; -- mon --> 4 and year --> 2020
2 /
PL/SQL procedure successfully completed
mon
---------
4
year
---------
2020
SQL>
SQL> WITH d AS
2 (
3 SELECT TRUNC( to_date(lpad(:mon,2,'0')||'.'||:year,'mm.yyyy'), 'MM' ) - 1 AS dt
4 FROM dual
5 )
6 SELECT dt + LEVEL AS date_month
7 FROM d
8 CONNECT BY LEVEL <= ADD_MONTHS (dt, 1) - dt
9 /
列出2020 年 4 月的所有日期。并将这些参数值替换为所需的月份和年份组合。
推荐阅读
- xcode8 - 如何将按钮链接到另一个控制器的 web 视图,该控制器的链接会根据按下的单元格而更改?
- javascript - 为“setTitle”提供“verticalAlign”时,Highchart 加载动画不起作用
- python-3.x - 在一堆文档上运行 gensim 的余弦相似度函数时出现分段错误:11
- sql - 检查空或空记录条件
- c# - 从一个表到另一个表的层次结构格式中的数据插入
- superset - 会话应在超集中不活动后过期
- oracle - 如何在 DB2 DB2 ZOS 中执行基于绑定变量的 sql
- ruby-on-rails - 用符号转换散列数组
- git - 如何在詹金斯中获取构建信息
- javascript - 将 PHP 变量转换为 JQuery