У меня есть OpenQuery (используется в SQL2005 для выполнения запроса к устаревшей базе данных). Я создаю строку для запуска, чтобы вернуть данные за последние 6 месяцев.
У меня проблема с '||' конкатировать.
Это работает в устаревшей системе:
SELECT
EVENT_DATE || ' ' || EVENT_TIME as EVENTDateTime
FROM
EVENT
Это работает в SQL2005 через связанный SQL Server:
Declare @Query nvarchar(MAX)
Set @Query = N'
SELECT
*
FROM
OPENQUERY(PATCOMLIVE,
''SELECT
*
FROM
root.ESDB_EVENT as EV
''
) as OpenQ';
exec sp_executesql @Query
Это не работает:
Declare @Query nvarchar(MAX)
Set @Query = N'
SELECT
*
FROM
OPENQUERY(PATCOMLIVE,
''SELECT
EVENT_DATE || '' '' || EVENT_TIME
FROM
root.ESDB_EVENT as EV
''
) as OpenQ';
exec sp_executesql @Query
И это не так:
EVENT_DATE '|'| '' '' '|'| EVENT_TIME
Я знаю, что упускаю что-то простое... но || для объединения строк все портит, хотя оно работает в устаревшей системе само по себе.