Преобразовать строку в дату в снежинке - PullRequest
1 голос
/ 08 марта 2019

Я обернул голову странным поведением, которое я получаю при выводе ниже, когда пытаюсь выполнить этот запрос.

SELECT
 to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh24:mm:ss') A
,to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh:mm:ss') B
,to_timestamp_ntz('11082013 12:29:25', 'MMDDYYYY hh24:mm:ss') C
,to_timestamp_ntz('11082013 12:29:25', 'MMDDYYYY hh:mm:ss') D
,to_date('11082013 12:29:25', 'mmddyy hh:mm:ss') E

Image of result

Я ожидаю, что результат будет 2013-8-01 для части даты во всех случаях.

Не уверен, что мне здесь не хватает. Исследовал документацию Snowflake, но не смог получить никаких конкретных результатов. Любая помощь приветствуется.

1 Ответ

2 голосов
/ 08 марта 2019

Вы должны представлять МИНУТЫ, используя ми вместо мм .Например,

to_timestamp_tz('11082013 12:29:25', 'MMDDYYYY hh24:mi:ss')

мм представляет месяцы, поэтому в оригинале фактически добавляется 29 месяцев вместо 29 минут к базису даты.

...