2017-01-20 12 views
0

В MSSQL мы можем преобразовать формат даты в формат, который мы хотели.Формат даты преобразования Vertica

, например:

convert(char(10),column_name , 120) 

в базе данных Vertica мы можем сделать то же самое?

SELECT CONVERT(CHAR(10),CURRENT_TIMESTAMP,120) 
+0

Если все остальное терпит неудачу, прочитайте руководство: 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 –

ответ

1

Возможно, что-то вроде этого?

select current_timestamp::varchar ; 

Или это?

select left(current_timestamp::varchar, 10) ; 

Взгляд в раздел Data Type Coercion и Data Type Coercion Chart в стандартной документации, вероятно, поможет ...

0

Также вы можете получить это так:

select getdate()::date; 

Есть много способы преобразования типов дат, см. документацию ниже для получения более подробной информации Vertica Date Transformation

1

В отличие от MS SQL, Vertica имеет три классических типа данных ANSI для хранения элемент времени:

  1. DATE, которая точно в день точности; по умолчанию формат ГГГГ-ММ-ДД.
  2. TIME, который обычно форматируется как HH24: MI: SS, а также при необходимости до 6 цифр для фракции второго
  3. 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 здравомыслящий

Смежные вопросы