我有一个 OpenQuery(在 SQL2005 中用于对遗留数据库运行查询)。我正在构建要运行的字符串,以便返回最近 6 个月的数据。
我遇到的问题是'||' 连接。
这适用于遗留系统:
SELECT
EVENT_DATE || ' ' || EVENT_TIME as EVENTDateTime
FROM
EVENT
这通过链接的 SQL Server 在 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
我知道我错过了一些简单的东西......但是|| 将字符串连接在一起会使事情变得混乱,尽管它确实可以在遗留系统上运行。