我想让那些比我更了解PL / SQL和T-SQL的人运行这个问题。下面是我继承的一些代码,它的返回日期为1小时。当我在远程查询的select语句中删除“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
答案 0 :(得分:0)
简单的答案但是;一台服务器与另一台服务器之间的夏令时问题?