Невозможно преобразовать тип данных поля - PullRequest
0 голосов
/ 24 августа 2018

Я читаю содержимое поля со связанного сервера с оператором openquery без каких-либо проблем.Тип данных поля char(1).Однако, если я пытаюсь преобразовать в другой тип данных, openquery терпит неудачу.

Ни одно из приведенных ниже утверждений не будет работать:

select * from  FROM OPENQUERY(linkedserver, 
  'select CONVERT (NVARCHAR(),QCTL.GL_TRANS.TRAN_TYPE) AS TRAN_TYPE'

select * from  FROM OPENQUERY(linkedserver, 'select 
  IIF(QCTL.GL_TRANS.TRAN_TYPE = ''C'', -1 * QCTL.GL_TRANS.AMOUNT, 
  QCTL.GL_TRANS.AMOUNT) AS AMOUNT'

1 Ответ

0 голосов
/ 24 августа 2018

Вы должны либо указать длину при преобразовании, либо удалить ().

select * from FROM OPENQUERY(linkedserver, 'select CONVERT(NVARCHAR(1),QCTL.GL_TRANS.TRAN_TYPE) AS TRAN_TYPE'

select * from FROM OPENQUERY(linkedserver, 'select CONVERT(NVARCHAR,QCTL.GL_TRANS.TRAN_TYPE) AS TRAN_TYPE'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...