В отличие от MS SQL, Vertica имеет три классических типа данных ANSI для хранения элемент времени:
DATE
, которая точно в день точности; по умолчанию формат ГГГГ-ММ-ДД.
TIME
, который обычно форматируется как HH24: MI: SS, а также при необходимости до 6 цифр для фракции второго
TIMESTAMP
и TIMESTAMPZ
для всей временной метки; TIMESTAMPZ
включает часовой пояс, а другой нет. И формат по умолчанию для TIMESTAMP
- это ГГГГ-ММ-ДД HH24: MI: SS.US, например: 2017-01-29 07: 45: 44.896498.
Любой из этих типов ввода может быть отформатирован так, как вам нравится, используя ту же функцию, что и Oracle: TO_CHAR.
MSSQL не так самоочевидный формат кода 120, соответствует этой строке формата: ГГГГ-ММ-ДД HH24: MI: SS.
И вот как вы его используете; Я usig CURRENT_TIME, CURRENT_DATE и CURRENT_TIMESTAMP в качестве входных данных, чтобы показать, что она делает из него:
SELECT
TO_CHAR(CURRENT_TIME ,'YYYY-MM-DD HH24:MI:SS') AS from_tm
, TO_CHAR(CURRENT_DATE ,'YYYY-MM-DD HH24:MI:SS') AS from_dt
, TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS') AS from_ts
;
from_tm | from_dt | from_ts
---------------------+---------------------+---------------------
2017-01-29 07:54:05 | 2017-01-29 00:00:00 | 2017-01-29 07:54:05
Хорошая вещь здесь является то, что эта функция TO_CHAR() является очень распространенным явлением во многих базах данных, и другие кодеры SQL будет легко понять, что происходит в этом фрагменте кода.
Счастливый Игра
Marco здравомыслящий
Если все остальное терпит неудачу, прочитайте руководство: https://my.vertica.com/docs/8.0.x/HTML/index.htm#Authoring/SQLReferenceManual /Functions/Formatting/TO_CHAR.htm%3FTocPath%3DSQL%2520Reference%2520Manual%7CSQL%2520Functions%7CFormatting%2520Functions%7C_____2 –