在DB2中,使用sql 计算昨天、最后一天等日期
在DB2中,使用sql 计算想要的日期值,比如昨天,上月的最后一天,下个月的最后一天等。
/*
作者:宾晓辰
微信:BD_BXC
MAIL:646501050@QQ.COM
PHONE:18026268607
日期:20210330
*/
create OR REPLACE function get_L1D_YYYYMMDD ( statis_date int)
–L1D_YYYYMMDD 昨天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(TO_DATE(STATIS_DATE,‘YYYYMMDD’) -1 DAYS,‘YYYYMMDD’);
SELECT get_L1D_YYYYMMDD(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_YYYYMM ( statis_date int)
–YYYYMM --本月
returns int
language sql
deterministic
no external action
contains sql
return SUBSTR(STATIS_DATE,1,6);
SELECT get_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_M01_YYYYMMDD ( statis_date int)
–M01_YYYYMMDD --本月第一天
returns int
language sql
deterministic
no external action
contains sql
return SUBSTR(STATIS_DATE,1,6)||‘01’;
SELECT get_M01_YYYYMMDD(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_M31_YYYYMMDD ( statis_date int)
–M31_YYYYMMDD --本月最后一天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(SUBSTR(STATIS_DATE,1,4)||‘0101’,‘YYYYMMDD’),1)-1 DAYS,‘YYYYMMDD’);
SELECT get_M31_YYYYMMDD(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_L1M_YYYYMM ( statis_date int)
–L1M_YYYYMM --上个月
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(STATIS_DATE,‘YYYYMMDD’),-1),‘YYYYMM’);
SELECT get_L1M_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_L1MD01_YYYYMMDD ( statis_date int)
–L1MD01_YYYYMMDD --上月第一天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(STATIS_DATE,‘YYYYMMDD’),-1),‘YYYYMM’) ||‘01’;
SELECT get_L1MD01_YYYYMMDD(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_L1MD31_YYYYMMDD ( statis_date int)
–L1MD31_YYYYMMDD --上月最后一天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(SUBSTR(STATIS_DATE,1,6)||‘01’,‘YYYYMMDD’),1)-1 DAYS,‘YYYYMMDD’);
SELECT get_L1MD31_YYYYMMDD(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_F1M_YYYYMM ( statis_date int)
–F1M_YYYYMM --下月
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(STATIS_DATE,‘YYYYMMDD’),1),‘YYYYMM’);
SELECT get_F1M_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_F1MD01_YYYYMM ( statis_date int)
–F1MD01_YYYYMM --下月第一天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(STATIS_DATE,‘YYYYMMDD’),1),‘YYYYMM’) ||‘01’;
SELECT get_F1MD01_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_F1MD31_YYYYMM ( statis_date int)
–F1MD31_YYYYMM --下月最后一天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(SUBSTR(STATIS_DATE,1,6)||‘01’,‘YYYYMMDD’),2)-1 DAYS,‘YYYYMMDD’);
SELECT get_F1MD31_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_F2M_YYYYMM ( statis_date int)
–F2M_YYYYMM --下下月
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(STATIS_DATE,‘YYYYMMDD’),2),‘YYYYMM’);
SELECT get_F2M_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_F2MD01_YYYYMM ( statis_date int)
–F2MD01_YYYYMM --下下月第一天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(STATIS_DATE,‘YYYYMMDD’),2),‘YYYYMM’) ||‘01’;
SELECT get_F2MD01_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
create OR REPLACE function get_F2MD31_YYYYMM ( statis_date int)
–F2MD31_YYYYMM --下下月最后一天
returns int
language sql
deterministic
no external action
contains sql
return TO_CHAR(ADD_MONTHS(TO_DATE(SUBSTR(STATIS_DATE,1,6)||‘01’,‘YYYYMMDD’),3)-1 DAYS,‘YYYYMMDD’);
SELECT get_F2MD31_YYYYMM(‘20210228’) FROM T_BXC_BASE ;
在DB2中,使用sql 计算昨天、最后一天等日期相关推荐
- db2 联合数据源 mysql_详解DB2中联合SQL Server数据
[51CTO独家特稿]DB2中联合SQL Server步骤: 1.安装DB2 2.安装IBM DataDirect ODBC驱动 3.安装关系连接器 或安装InfoSphere DB2(InfoSph ...
- DB2中常用sql语句语法
DB2 提供了关连式资料库的查询语言sql(structured query language),是一种非常口语化.既易学又易懂的语法.此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作, ...
- 嵌套SQL语句訪问DB2中SQLCA的调用技巧
在IBM的关系型数据库产品DB2中,使用SQL Communication Area(SQLCA)将程序中嵌套的SQL语句执行情况返回给程序. 在程序中有针对性地对SQLCA实施调用,可对程序中各类S ...
- SQL获得当前的日期和时间与DB2 中操作日期和时间
星期六 2007年08月18日 要使用 SQL 获得当前的日期.时间及时间戳记,请参考适当的 DB2 寄存器: SELECT current date FROM sysibm.sysdummy1 SE ...
- 第16/24周 SQL Server 2014中的基数计算
大家好,欢迎回到性能调优培训.上个星期我们讨论在SQL Server里基数计算过程里的一些问题.今天我们继续详细谈下,SQL Server 2014里引入的新基数计算. 新基数计算 SQL Serve ...
- DB2中sql语句占位符问题
初到公司实习,让做一个网站,使用struts2+spring框架,数据库使用的是DB2,以前没接触过DB2,对它不了解.在写sql语句的时候遇到一些问题,首先就是在mysql下的limit到了DB2中 ...
- DB2中使用事件监控器获取某个时间段里某个用户执行的SQL语句
需求:管理员想要监控在一段时间里,用户DB2TEST跑过哪些SQL语句,这个在DB2中如何做到? 答: 可以采用STATEMENT类型的事件监控器: 测试过程: 1.) 管理员用户连库.创建事件监控器 ...
- Oracle中使用SQL根据出生日期精确计算年龄
Oracle中使用SQL根据出生日期精确计算年龄 提示:以下是本篇文章正文内容,下面案例可供参考 代码如下(示例): select XM,CSNY as 出生日期,-- extract函数用于提取日期 ...
- oracle 求一年多少天,SQL 计算一年有多少天
SQL 计算一年有多少天,计算当前年份有多少天. SQL 计算一年有多少天 问题描述 计算当前年份有多少天. SQL 计算一年有多少天 解决方案 计算当前年份有多少天,等同于计算下一年的第一天和当前年 ...
最新文章
- 初步了解qemu虚拟机
- 类属性的特征java_java定义类、属性、方法
- java 带点的字符串处理,关于android:java中字符串上带点的分割函数
- ASP.NET Core Web API中使用Swagger
- Ajax_Apache访问资源文件的权限配置、资源存放路径配置、配置虚拟主机、动态网站静态网站区别...
- 特斯拉地图数据服务以后由百度地图提供
- weblogic进程自动关闭_手机总是清理内存?原来是6个设置没关,1秒关闭多用3年...
- html css . doc,html+CSS基础.doc
- 全面认识openstack:OpenStack架构详解
- 你所不知道的Quartz特性
- KeelKit 数据库文档生成器已完成
- Shiro(一)——Shiro概述
- 量子多体理论怎么样理解,多体系统的量子理论
- 随机森林 Iris 特征重要性
- 全球及中国吊链总成行业研究及十四五规划分析报告
- 【年终巨献】车联网距离我们还有多远?《5G与车联网技术》给您最专业的解读...
- 丧尸的世界·《丧尸西游》
- js 树形结构数据 已知某一子节点 一次向上获取所有父节点
- Python财务分析
- 爬虫常见的加密解密算法
热门文章
- 微信小程序开发学习小结之tabBar组件
- 2016-09-01[关于Paint笔触的了解]
- FPGA通过PCIe读写DDR4仿真IP核
- google的一些秘密入口 很好玩
- 计算机vba函数,excel vba求平均值_求VBA编程或EXCEL公式(函数)
- 远程调用中间件RPC
- java旅游管理面试,旅游管理专业面试问题
- Material Design控件使用(二)
- win10戴尔游侠GTX1050TI+TensorFlow-gpu+CUDA10.0.130+CUDNN7.4.1.5配置深度学习环境
- 快速画出哈夫曼树/霍夫曼树/最优树