0

我想让那些比我更了解 PL/SQL 和 T-SQL 的人来讨论这个问题。下面是我继承的一些代码,它返回的日期是 1 小时。当我在远程查询的选择语句中删除“to_char(i.UPDATE_DT,''YYYY-MM-DD HH24:MI:SS.FF3'')”时,小时偏移量消失了。我担心此更改可能会产生其他影响,所以我的问题是为什么有人会通过 OpenQuery 将 Oracle 时间转换为字符串,然后在 select 语句中使用 T-SQL 转换?我在这里缺少什么,为什么 to_char 会导致偏移(如果是原因)?

SELECT
    CSE_ID                         AS ID,
    OTHR_CSE_ID                   AS Case_Num,
    convert(datetime,UPDATE_DT,121) AS Export_Time
FROM
    OpenQuery( OracleTbl, '
    SELECT c.CSE_ID, r.OTHR_CSE_ID, to_char(i.UPDATE_DT,''YYYY-MM-DD HH24:MI:SS.FF3'') UPDATE_DT 
    FROM AE_CSES c
    INNER JOIN CSES i ON i.CASE_ID = c.CSE_ID AND i.ACTION_CD = ''INS''
    INNER JOIN OTH_CSE_REFS r ON r.CSE_ID = c.CSE_ID AND r.OTH_CS_REF_SEQ_NBR = 1 AND r.OTHER_SOURCE_TYPE = ''SIE''
    ') AS i
4

1 回答 1

0

简单的答案但是;一台服务器和另一台服务器之间的夏令时问题?

于 2012-11-05T16:33:25.077 回答