我正在尝试从时间戳为UTC时间的Oracle数据库中提取数据,但我正在尝试根据客户端请求的信息使用CST。
基本上,我希望根据前一天的代码提取信息,但我还需要考虑到中央时间(-6小时)的时差,所以基本上,我需要提取信息前30个小时左右。
以下是我的代码:
SELECT *
FROM SPROBSUMMARYM1 PM1
JOIN SPROBSUMMARYM2 PM2 ON PM1."NUMBER" = PM2."NUMBER"
JOIN SCOMPUTERM1 Com1 ON PM1."FS_MACHINE" = Com1."MACHINE_NAME"
where PM1."OPEN_TIME" > TRUNC(SYSDATE)-1 AND PM1."OPEN_TIME"<TRUNC(SYSDATE);
答案 0 :(得分:1)
在Oracle时代,1是一整天,一小时是1/24。要获得6小时,你将使用6/24。所以你的SQL应该成为
SELECT *
FROM sprobsummarym1 pm1
JOIN sprobsummarym2 pm2 ON pm1."NUMBER" = pm2."NUMBER"
JOIN scomputerm1 com1 ON pm1."FS_MACHINE" = com1."MACHINE_NAME"
WHERE pm1."OPEN_TIME" > TRUNC (SYSDATE) - 1 - 6/24
AND pm1."OPEN_TIME" < TRUNC (SYSDATE) - 6/24;