OpenQueryがあります(SQL2005でレガシーデータベースに対してクエリを実行するために使用されます)。過去6か月のデータを返すように、実行する文字列を作成しています。
私が抱えている問題は「||」にあります 連結する。
これはレガシーシステムで機能します。
SELECT
EVENT_DATE || ' ' || EVENT_TIME as EVENTDateTime
FROM
EVENT
これは、リンクされたSQLServerを介してSQL2005で機能します。
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
単純なものが欠けていることはわかっています...しかし|| 文字列を連結することは、レガシーシステム自体では機能しますが、混乱を招きます。