Что такое CHAR (7) в Teradata SQL в формате даты? - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь получить представление о char(7) в следующем SQL в Teradata:

SELECT current_date (FORMAT'YYYY-MM') (char(7));

, поскольку оно заставляет отображать правильный формат, точно так, как указано. Когда я пытаюсь без char(7) в конце, формат не соответствует указанному, например:

SELECT current_date (FORMAT 'YYYY-MM');

также возвращает день, игнорируя команду форматирования:

enter image description here

В качестве подзапроса - это правильный способ отображения месяца и года из столбца даты? (с char(7))

1 Ответ

1 голос
/ 22 января 2020

Я бы предложил использовать TO_CHAR здесь:

SELECT TO_CHAR(CURRENT_DATE, 'YYYY-MM');

Это избавит вас от догадок, так как контракт TO_CHAR состоит в том, чтобы возвращать строковое представление даты и времени ввода, используя формат маску вы укажете. Вам не нужно беспокоиться о запросе определенной ширины строки.

...