СОЮЗ ВСЕХ Заявление не выполняется - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь объединить около 20 или около того таблиц, чтобы объединить их в одно представление. Я продолжаю получать сообщение об ошибке:

'Числовое значение XXXXX не распознано'.

Эта ошибка содержится в 1 столбце в каждой из таблиц, нотип данных для этого столбца VARCHAR(256) в каждой из таблиц. Независимо от того, к чему я привел столбец, я все равно получаю ту же ошибку.

UNION ALL отлично работает, если я закомментирую этот столбец.

Я попытался привести все столбцы к одному и тому же типу данных, не повезло.

Я попытался закомментировать данный столбец, который работает, но мне нужен этот столбец.

Я попробовал только UNION-несколько таблиц, которые иногда работают, а иногда нет, в зависимости от типа документа.

    SELECT
    CAST(QUICKBOOKS_MEXICO.BILL_LINE.DESCRIPTION AS VARCHAR(256)) AS DESCRIPTION
    FROM QUICKBOOKS_MEXICO.BILL_LINE

    UNION ALL

    SELECT 
    CAST(QUICKBOOKS_EUROPE_BV.PURCHASE_LINE.DESCRIPTION AS VARCHAR(256)) AS DESCRIPTION
    FROM QUICKBOOKS_EUROPE_BV.PURCHASE_LINE

Столбцы должны бесшовно объединяться.

Вот сообщение об ошибке:

Числовое значение «Обмен Прибыль или Убыток» не распознано

Стоит отметить, что если удалить вседругие поля, кроме столбца, который выдает ошибку из запроса, он работает просто отлично. Действительно сбивает с толку!

1 Ответ

0 голосов
/ 27 октября 2019

Мне кажется, что сообщение об ошибке, которое вы получаете, связано не с этим столбцом, а с другим столбцом, в котором вы можете приводить данные как NUMERIC, а вместо этого получать это значение «Exchange Gain Or Loss».

Одним из способов игнорирования этой ошибки преобразования является использование TRY_CAST вместо CAST, поэтому, когда значение не может быть преобразовано в предполагаемый тип данных, оно просто вернет NULL

...