Отобразить текущий год в формате «Две тысячи девятнадцать» - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь отобразить текущую дату в таком формате, как:

Today is the twenty-eighth of February, Two Thousand and Nineteen

В настоящее время у меня есть:

SELECT 'Today is the ' || TO_CHAR(CURRENT_DATE, 'ddspth') || ' of ' || TO_CHAR(CURRENT_DATE, 'Month, YyYYsp') FROM DUAL

Что дает:

Today is the twenty-eighth of February , Two Thousand Nineteen

Но я бы хотел что-то вроде:

Today is the twenty-eighth of February , Two Thousand and Nineteen

Как это сделать?

1 Ответ

0 голосов
/ 01 марта 2019

Я не знаю простой модели формата, которая будет форматировать ее так, как вы хотите, но вы можете сделать это с небольшой дополнительной работой:

SELECT 'Today is the ' || 
       TO_CHAR(CURRENT_DATE, 'ddspth') || ' of ' || 
       TO_CHAR(CURRENT_DATE, 'Month,') || 
       TO_CHAR(ADD_MONTHS(trunc(CURRENT_DATE,'CC'),-12),'YyYYsp') || ' and ' || 
       TO_CHAR(CURRENT_DATE,'Yysp') 
FROM DUAL;

Сегодня этодвадцать восьмого февраля, две тысячи девятнадцатого

По сути, определите первый год текущего столетия и объясните это самостоятельно, а затем добавьте слово «и» и укажите только последнеедве цифры года.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...