簡體   English   中英

在 Snowflake 中將日期轉換為數字時間戳

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM