SQL server日期转换——年月日合并成日期格式/取每月第一天或最后一天

  1. 将年度、月份、日期合并成日期格式

关键1:年度、月份、日期的数据类型需要转换成文本

CAST(年度 AS VARCHAR(4)) 年度_文本
CAST(月份 AS VARCHAR(4)) 月份_文本
CAST(日期 AS VARCHAR(4)) 日期_文本

关键2:月份、日期存在个位数,需要转换为两位数

RIGHT('00'+CAST(月份 AS VARCHAR(4)),2) 月份_两位数
RIGHT('00'+CAST(日期 AS VARCHAR(4)),2) 日期_两位数

关键3:合并后转化为日期格式

CAST(CAST(年度 AS VARCHAR(5))+'/'
         +RIGHT('00'+CAST(月份 AS VARCHAR(4)),2)+'/'
         +RIGHT('00'+CAST(日期 AS VARCHAR(4)),2) AS DATE) 目标日期
  1. 将年度、月份合并成日期格式,取每月第一天
    将上一方法中的日期字段改成‘01’
CAST(CAST(年度 AS VARCHAR(5))+'/'
         +RIGHT('00'+CAST(月份 AS VARCHAR(4)),2)+'/'
         +'01' AS DATE) 每月第一天
  1. 将年度、月份合并成日期格式,取每月最后一天
    取本月一号的下一月日期的前一天
DATEADD(MONTH, 1, 
               CAST(CAST(年度 AS VARCHAR(5))+'/'
                        +RIGHT('00'+CAST(月份 AS VARCHAR(4)),2)+'/'
                        +'01' AS DATE))
                 -1 每月最后一天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值