[英]How can I adjust the Snowflake function to get date with error that it cannot parse?
我正在尝试将这种格式的数字1180106
转换为日期。
直到今天,我一直能够运行以下查询以获取 YYYYMMDD 格式:
TO_DATE(1900 + LEFT(A.ODT_ENTERED_DATE, 3) || SUBSTR(A.ODT_ENTERED_DATE, 4, 4), 'YYYYMMDD')
内部查询构建了一个这样的数字: 2018.000000106
但是 TO_DATE function 无法从中创建日期。 我期待20180106
相反,我收到以下错误:
Can't parse '2018.000000106' as date with format 'YYYYMMDD'
如果你只是运行:
select 1900 + LEFT(A.ODT_ENTERED_DATE, 3)
这将结果作为varchar
返回,其中返回的结果是: 2018.00000
通过以下任一方式转换为数字应该会给您预期的结果:
select TO_DATE(1900 + TO_NUMBER(LEFT(1180106, 3))|| SUBSTR(1180106, 4, 4), 'YYYYMMDD')
或者
SELECT TO_DATE((1900 + (LEFT(1180106, 3))) :: number || SUBSTR(1180106, 4, 4), 'YYYYMMDD')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.