首页 > 解决方案 > 拆分日期,然后将其分成三列

问题描述

我有一个日期列,格式为 2020 年 2 月 21 日和 2020 年 11 月 2 日

我的意思是,如果是第 2 个月,如果是 11 两位数,它将是一位数

我需要从上面的例子中得到的结果应该是 20200221 和 20201102

所以我决定拆分日期并将它们分成三列,例如年:2020 月:02 日:21

然后我将它们结合起来

year || month || day 

现在我知道如何划分年份了

select
       regexp_substr(date1, '[^/]+$', 1, 1) as year
from (select '2/11/2020' as date1 from dual) 

但是如果我需要月份或日期,我应该在代码中更改什么

此外,如果月份包含一位数字,则应在月份数字旁边添加 0,如 02。我是否使用 case when 条件?

有没有更简单的方法来解决这个问题

标签: sqloraclesplit

解决方案


试试这个希望你喜欢。

declare @TargetDate datetime='2/21/2020'
SELECT REPLACE(CONVERT(varchar,(SELECT @TargetDate),23), '-', '') as Date;

推荐阅读