我有一个日期栏,格式是2020年2月21日和2020年11月2日
我的意思是,如果它是第二个月,那么它将是一位数,如果它是11,那么它将是两位数
我需要从上面的例子得到的结果应该是20200221和20201102
所以我决定把日期分成三列year:2020 month:02 day:21
那我就把它们合起来
year || month || day
现在我知道如何分配年份了
select
regexp_substr(date1, '[^/]+$', 1, 1) as year
from (select '2/11/2020' as date1 from dual)
但是如果我需要一个月或一天,我应该在代码中更改什么
此外,如果月份包含一个数字,则应在月份号旁边添加0,如02。当条件为时是否使用case?
有没有更简单的方法来解决这个问题
2条答案
按热度按时间qlfbtfca1#
如果列是日期数据类型,则
如果列是varchar数据类型,那么
不要担心一天或一个月的一个或两个数字,因为甲骨文足够聪明,可以识别它。
查看此db<>小提琴演示
km0tfn4u2#
试试这个,希望你喜欢。