如何在雪花中将整个列的数据类型从数字转换为时间戳

时间:2020-07-27 23:19:10

标签: sql datetime snowflake-cloud-data-platform complex-data-types

这句话给我一个错误

      SELECT cast(FHEFTJ as Timestamp) 

但这对

有效
          SELECT cast('108353' as Timestamp) 

我希望将整个列的数据类型设置为时间戳,因此尝试了上述操作,但不起作用

给定条目108353 想要的结果是1970-01-02 06:05:53.000

2 个答案:

答案 0 :(得分:2)

我假设您正在尝试使用FHEFTJ作为列名来转换值表。不过,您需要引用该表。

SELECT FHEFTJ::timestamp
FROM tablename;

SELECT to_timestamp(FHEFTJ)
FROM tablename;

SELECT CAST(FHEFTJ as timestamp)
FROM tablename;

答案 1 :(得分:0)

我假设FHEFTJ是您拥有的行值之一,并且其抛出错误将其转换为时间戳。 try_to_numeric函数首先检查其数字是否可以转换。

SELECT CAST(以time_to_NUMERIC(FHEFTJ)作为时间戳)FHEFTJ_datetimE来自 ( 选择'103353'FHEFTJ 联盟 选择'108353'FHEFTJ 联盟 选择'Somevalue'FHEFTJ );