数字到日期转换
Number to date conversion
我有以下Table。是否可以将月份列转换为日期?
ID Month
1 201805
预期结果:
Id Month Date
1 201805 5/1/2018
您可以只使用带有 suitable 格式掩码的 to_date()
,例如以固定值作为演示:
select to_date(to_char(201805), 'YYYYMM') from dual;
TO_DATE(TO_CHAR(201
-------------------
2018-05-01 00:00:00
您不需要明确地向值添加天数(如@HoneyBadger 所示,或在转换为字符串后通过连接),因为无论如何 it will default to the first of the month。
所以你需要做类似
的事情
to_date(to_char(month), 'YYYYMM')
可以跳过 to_char()
部分,因为无论如何数字都会隐式转换为字符串,但包含它会更完整。
不清楚您是打算将此作为查询的一部分(可能在视图中)还是要修改 table;如果是后者,那么您可以使用虚拟列来避免重复数据,并且在月份发生变化时必须维护转换后的值。
我有以下Table。是否可以将月份列转换为日期?
ID Month
1 201805
预期结果:
Id Month Date
1 201805 5/1/2018
您可以只使用带有 suitable 格式掩码的 to_date()
,例如以固定值作为演示:
select to_date(to_char(201805), 'YYYYMM') from dual;
TO_DATE(TO_CHAR(201
-------------------
2018-05-01 00:00:00
您不需要明确地向值添加天数(如@HoneyBadger 所示,或在转换为字符串后通过连接),因为无论如何 it will default to the first of the month。
所以你需要做类似
的事情to_date(to_char(month), 'YYYYMM')
可以跳过 to_char()
部分,因为无论如何数字都会隐式转换为字符串,但包含它会更完整。
不清楚您是打算将此作为查询的一部分(可能在视图中)还是要修改 table;如果是后者,那么您可以使用虚拟列来避免重复数据,并且在月份发生变化时必须维护转换后的值。