[英]Converting a date to a numeric timestamp in Snowflake
我有一個查詢,其中一列是DATE
類型。 我正在嘗試將其轉換為與日期關聯的時間戳的納秒表示形式:
輸入 | Output |
---|---|
2022-07-15 | 1657843200000000000 |
2022-07-18 | 1658102400000000000 |
2022-07-19 | 1658188800000000000 |
我可以通過這樣做從日期獲取時間戳:
SELECT TRY_TO_TIMESTAMP(TO_VARCHAR($1))
FROM (
SELECT DATE($1) FROM VALUES ('2022-07-15'), ('2022-07-18'), ('2022-07-19'))
但是使用TRY_TO_NUMERIC
不起作用,所以我不確定在這里做什么。
您可以使用 datediff function 返回自 Unix 紀元開始以來的納秒數,即 1970-01-01:
with source_data as
(
select
COLUMN1::date as INPUT
from (values
('2022-07-15'),
('2022-07-18'),
('2022-07-19')
)
)
select INPUT
,datediff(nanoseconds, '1970-01-01'::date, INPUT) as OUTPUT
from SOURCE_DATA
;
輸入 | OUTPUT |
---|---|
2022-07-15 | 1657843200000000000 |
2022-07-18 | 1658102400000000000 |
2022-07-19 | 1658188800000000000 |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.