Неверная операция: функция pg_catalog.pgdate_part («unknown», текст) не существует; - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть SQL-скрипт для красного смещения

Вот часть кода

SELECT  clo.name AS SalesManager,
    prospect.id AS ProspectId,
    prospect.fullname AS ProspectName,
    prospect.company,
    Prospect.Email,
    prospect.phonehome,
    prospect.phonecell,
    prospect.phonework,
    prospect.phoneworkext,
    pct.PercentClosing,
    pct.PercentClosingLearn,
    pct.PercentClosingLMS,
    COALESCE(CAST(paying.Paying AS VARCHAR), 'NO') AS Paying,
    COALESCE(CAST(paying.Paying AS VARCHAR), 'NO') AS PayingLearn,
    --CONVERT(DATE, metaData.ClosingDatePM) AS CloseDatePM,
    CAST(metaData.ClosingDatePM AS DATE) AS CloseDatePM,
    DATE_PART(YEAR, metaData.ClosingDatePM) AS CloseYear,
    DATE_PART(MONTH, metaData.ClosingDatePM) AS CloseMonth,
    CASE WHEN DATE_PART('MONTH', metaData.ClosingDatePM)||'/1/'||DATE_PART('YEAR', metaData.ClosingDatePM) = '/1/' THEN NULL ELSE DATE_PART('MONTH', metaData.ClosingDatePM)||'/1/'||DATE_PART(YEAR, metaData.ClosingDatePM) END AS MonthClose,
    metaData.*

Когда я пытаюсь запустить скрипт, я получаю сообщение об ошибке.

Этоone

[42883] [500310] Amazon Недопустимая операция: функция pg_catalog.pgdate_part ("unknown", text) не существует;java.lang.RuntimeException: com.amazon.support.exceptions.ErrorException: Amazon Недопустимая операция: функция pg_catalog.pgdate_part ("unknown", text) не существует;

Но если я прокомментирую эти строки

DATE_PART(YEAR, metaData.ClosingDatePM) AS CloseYear,

    DATE_PART(MONTH, metaData.ClosingDatePM) AS CloseMonth,

    CASE WHEN DATE_PART('MONTH', metaData.ClosingDatePM)||'/1/'||DATE_PART('YEAR', metaData.ClosingDatePM) = '/1/' THEN NULL ELSE DATE_PART('MONTH', metaData.ClosingDatePM)||'/1/'||DATE_PART(YEAR, metaData.ClosingDatePM) END AS MonthClose,

Все отлично работает.

Пример данных таблицы (я добавил только один столбец, потому что проблема, я думаю, связана с ним):

closingdatepm
-------------
9/16/2013
12/01/2017
3/1/2014
5/1/2015
01/01/2018
4/1/2014
8/1/2014
10/31/2017
01/01/2018
5/1/2015

Где могут быть мои проблемы?

1 Ответ

0 голосов
/ 19 сентября 2018

итак.Я думаю, что я найду ответ, как это исправить

Просто используйте это так

CAST(metaData.ClosingDatePM AS DATE) AS CloseDatePM,

    DATE_PART(YEAR, CloseDatePM) AS CloseYear,

И другие как этот

...