SQL 中拼接时间

@SQL 中如何拼接时间TOC

SET @month01 = CONCAT(LEFT(p_rpt_date,6),‘01’);
SET @p_rpt_date1 = date_format(DATE_ADD(p_rpt_date,INTERVAL 1 DAY),’%Y%m%d’);
SET @last_month_date1 = date_format(DATE_SUB(@p_rpt_date1,INTERVAL 1 MONTH),’%Y%m%d’);
SET @p_month = CONCAT(date_format(p_rpt_date,’%Y%m’));
SET @last_month = CONCAT(date_format(DATE_SUB(p_rpt_date,INTERVAL 1 MONTH),’%Y%m%d’));
SET @last_month01 = CONCAT(LEFT(@last_month,6),‘01’);
– 传入时间减1
SET @p_rpt_date_1 = date_format(DATE_SUB(p_rpt_date,INTERVAL 1 DAY),’%Y%m%d’);

声明:输入的p_rpt_date是字符串 = { 例如:20211126

第一个set表达的意思是月初 ,拼接完成后是20211101;
第二个set表达的意思是这天的后一天 ,拼接完成后是20211127;
第三个set表达的意思是调用set2定义的20211127,拼接完后是上个月这一天 ,拼接完成后是20211027;
第四个set表达的意思是这个月,拼接完成后是202111;
第五个set表达的意思是这个月,拼接完后是上个月这一天 ,拼接完成后是20211026;
第六个set表达的意思是这个月,调用set5定义的20211026,拼接完后是上个月第一天,拼接完成后是20211001;
第七个set表达的意思是这天的后一天 ,拼接完成后是20211125;

set @day_start = str_to_date(concat(p_rpt_date,‘000000’),’%Y%m%d%H%i%s’);
set @day_end = str_to_date(concat(p_rpt_date,‘235959’),’%Y%m%d%H%i%s’);
set @mon_start = str_to_date(concat(left(p_rpt_date,‘6’),‘01000000’),’%Y%m%d%H%i%s’);

设置时间参数 202112
可得出本月的最后一天
set @mon_last = date_format(LAST_DAY(concat(202112,‘01’)),’%Y%m%d’);
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值