SQL в Terminal Error: несоответствующий ввод ')' ожидание (около 'VARCHAR' в спецификации примитивного типа) - PullRequest
0 голосов
/ 08 февраля 2019

Я получаю следующую ошибку в Терминале при копировании / вставке кода из моего редактора кода в Терминал:

mismatched input ')' expecting ( near 'VARCHAR' in primitive type specification

Вот код SQL ввопрос:

left outer join order_history b
ON CAST(substr(a.order_id__c, 2)AS VARCHAR) = CAST(b.order_id AS VARCHAR)

Причина, по которой я использую предложение "substr", заключается в том, что перед номером, к которому я пытаюсь присоединиться, в одной таблице стоит буква:

например P123456 и 123456

1 Ответ

0 голосов
/ 08 февраля 2019

VARCHAR не является допустимым типом для функции CAST() .Вы можете использовать CHAR вместо этого.Кроме того, поскольку SUBSTR() возвращает строку, нет необходимости CAST ее результата.

Я предполагаю, что в этом контексте неявное приведение MySQL должно позволять вам:

substr(a.order_id__c, 2) = b.order_id

Иначе я бы порекомендовал:

CAST(substr(a.order_id__c, 2) AS SIGNED) = b.order_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...