Почему результат запроса Snowflake с помощью curl типа DATE возвращается как дни с 1970-01-01? - PullRequest
1 голос
/ 02 апреля 2020

Запрос осуществляется через вызов curl в php до https://<account>.snowflakecomputing.com/queries/<token>/result

Поле типа строки:

{
    "name": "SNAPSHOT_DATE",
    "database": <database>,
    "schema": <schema>,
    "table": "DAILY_USER_SNAPSHOT",
    "byteLength": null,
    "type": "date",
    "scale": null,
    "precision": null,
    "nullable": true,
    "collation": null,
    "length": null
}

Поле набора строк: "18350", которое является числом дней с 1970-01-01 (Unix дата эпохи).

В рабочем листе веб-интерфейса возвращается поле, как и ожидалось, в DATE_OUTPUT_FORMAT для YYYY-MM-DD ( проверяется SHOW PARAMETERS in account;) следующим образом:

2020-03-29

Почему «набор строк» ​​поля через вызов curl не возвращается как "2020-03-29" вместо "18350"?

1 Ответ

0 голосов
/ 02 апреля 2020

Я не уверен, но, вероятно, это просто стандартный формат, в котором Snowflake возвращает типы данных даты / времени через вызовы API. Клиентское приложение должно определить, как оно будет отображаться на экране. WebUI является одним из этих клиентов, использующих API, и он (вероятно) использует параметры сеанса для форматов вывода, показанных здесь , чтобы определить, как отображать его пользователям.

Почему вы используете API curl / rest для получения этих данных, а не один из драйверов, предоставляемых Snowflake?

...