Я пишу sql-запрос, чтобы вытащить некоторые данные с одного из наших связанных серверов oracle.Связанный с SQL OpenQuery сервер Oracle DateAdd
Единственная проблема с этим запросом заключается в том, что две строки добавления даты (с их удалением выполняется запрос), но мне нужны их данные.
Я получаю ошибку ниже: поставщика OLE DB "MSDAORA" для связанного сервера "MAGINUS" возвращенное сообщение «ORA-00904: "DATEADD": недопустимый идентификатор
Можно ли прописать синтаксис для этих
?заранее спасибо
Will
DECLARE @TSQL VARCHAR(8000)
,@CUSTOMER_ACCOUNT VARCHAR(20)
SELECT @TSQL1 = '
SELECT * FROM OPENQUERY(MAGINUS,''
SELECT
CM.CUSTOMER_ACCOUNT AS "CustomerAccount"
,CM.CONTACT_NAME AS "ContactName"
,CM.MEMBERSHIP_NUMBER AS "MembershipNumber"
,P.LONG_DESCRIPTION_1 AS "ProductDescription"
,DATEADD(SECOND, CM.MEMBERSHIP_START_DATE, "19700101") AS "MembershipStartDate"
,DATEADD(SECOND, CM.MEMBERSHIP_EXPIRY_DATE, "19700101") AS "MemberhrshipEndDate"
,SH.ORDER_VALUE AS "Price Paid"
FROM MAGINUS.CUSTOMER_MEMBERSHIP CM
INNER JOIN MAGINUS.PRODUCT P
ON CM.PRODUCT_CODE = P.PRODUCT_CODE
INNER JOIN MAGINUS.SALES_HEADER SH
ON CM.CUSTOMER_ACCOUNT = SH.CUSTOMER_ACCOUNT
AND CM.SALES_DOCUMENT_NUM = SH.SALES_DOCUMENT_NUM
WHERE CM.CUSTOMER_ACCOUNT = ''''' + @CUSTOMER_ACCOUNT + ''''''')'
EXEC (@TSQL1)
Это не получается более совершенным. – Will