将VARCHAR转换为Datetime

时间:2019-11-27 16:23:14

标签: datetime casting snowflake-data-warehouse

我正在尝试将字符串datetime转换为时间戳。 try_to_timestamp不会以yyyy-mm-dd hh:mm:ss AM / PM格式转换日期。我只能通过剥离时间并将其强制转换为类型时间并将其与日期连接起来来解决此问题。任何人都知道有Snowflake函数可以处理此问题吗?

选择try_to_timestamp('2019-11-18 4:01:29 PM +0000')

2 个答案:

答案 0 :(得分:2)

您的时间戳记不太适合ISO或RTC格式,因此不会自动检测到它。不过,您可以手动输入格式。应该看起来像这样:

$ sudo apt-get install python-pip
$ sudo pip install selenium

有关SnowFlake使用的各种格式的信息:https://docs.snowflake.net/manuals/user-guide/date-time-input-output.html

编辑: 您可能会或可能不想将其强制转换为timestamp_tz(带有时区的时间戳)以维护时区信息

select to_timestamp('2019-11-18 4:01:29 PM +0000', 'YYYY-MM-DD HH12:MI:SS AM TZHTZM')

答案 1 :(得分:0)

由于try_to_timestamp不支持格式,因此您可以在调用 try_to_timestamp函数。下面的示例在会话级别进行设置。

 alter session set TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH12:MI:SS AM TZHTZM'; 

 select  try_to_timestamp('2019-11-18 4:01:29 PM +0000');