无法转换字段数据类型

时间:2018-08-24 10:27:27

标签: sql-server linked-server openquery

我正在使用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 :(得分:0)

转换时必须指定长度,或删除()。

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'