永洪社区

标题: 文本类型转换为日期 [打印本页]

作者: yhdata_fKBCq4M9    时间: 2022-6-30 08:59
标题: 文本类型转换为日期
parseDate(substring(col['LEAVE_FAC_DATE',0,8),'YYYY-MM-dd') 将文本格式转换为日期,数据显示为空;parseDate(substring(col['LEAVE_FAC_DATE',0,4),'YYYY'),数据显示精度却到秒。请问如何能截取到精度只到日期“YYYY-MM-dd”

作者: 永洪tech-Eden    时间: 2022-6-30 08:59
1.转换日期列使用的是oracle中的to_date函数,而oracle中的to_date函数的用法是to_date('2005-01-01','yyyy-MM-dd'),所以会报这个数据格式不匹配的错
2.解决思路
先将LEVEL_FAC_DATE列用计算列拼成符合数据格式的字符串,如 20220104 -> 2022-01-04,然后再转换为日期列
3.实际用法
创建计算列:left(col['LEAVE_FAC_DATE'],4)+'-'+mid(col['LEAVE_FAC_DATE'],5,2)+'-'+mid(col['LEAVE_FAC_DATE'],7,2)
将计算列转为日期列
作者: humming    时间: 2022-6-30 09:17
LEAVE_FAC_DATE  列是什么类型的,string吗? 内容是什么样子的。 parseDate是把string转化成出来的结果是时间戳,所以到秒,只显示日期可以设置日期格式
作者: yhdata_fKBCq4M9    时间: 2022-6-30 09:36
LEAVE_FAC_DATE  列是文本类型的,如果把这一列设置为日期格式,结果还是显示空(请见图)。不知道应该怎么办。
作者: yhdata_yzm    时间: 2022-6-30 09:40
yhdata_fKBCq4M9 发表于 2022-6-30 09:36
LEAVE_FAC_DATE  列是文本类型的,如果把这一列设置为日期格式,结果还是显示空(请见图)。不知道应该怎么 ...

转日期列后是空吗
作者: yhdata_fKBCq4M9    时间: 2022-6-30 09:53
对啊,空的
作者: yhdata_yzm    时间: 2022-6-30 09:56
yhdata_fKBCq4M9 发表于 2022-6-30 09:53
对啊,空的

里边的数据是什么样的能发个例子吗
作者: yhdata_fKBCq4M9    时间: 2022-6-30 10:07
请参详
作者: yhdata_yzm    时间: 2022-6-30 10:24
yhdata_fKBCq4M9 发表于 2022-6-30 10:07
请参详

好的稍后我们测试一下
作者: yhdata_fKBCq4M9    时间: 2022-6-30 10:44
静候回音,谢谢
作者: yhdata_yzm    时间: 2022-6-30 11:11
yhdata_fKBCq4M9 发表于 2022-6-30 10:44
静候回音,谢谢

好的
作者: yhdata_fKBCq4M9    时间: 2022-7-2 23:18
就像这样的,文本格式转换为日期格式就会报错,怎么回事?




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4