У меня есть этот запрос
select * from openQuery(hades,"select to_char(T$STDT,'dd-Mon-YYYY') stdt,to_char(T$TDAT,'dd-Mon-YYYY') tdat
,fdG2J(T$TDAT)-fdG2J(t$stdt) diff,T$DISC
,fdG2J(Sysdate) nSysD
,fdG2J(t$stdt) nStdt
,fdg2J(t$tdat) nTdat
from BAAN.TTDSLS031020
where T$CUNO='000022' and TRIM(T$CPGS)='1AA00'
--and fdG2J(sysdate) between fdG2J(t$stdt) and fdG2J(t$stdt)
");
и он возвращает следующий результат (за исключением того, что последняя строка предложения where закомментирована).
STDT TDAT DIFF T$DISC NSYSD NSTDT NTDAT
01-Mar-12 11-Mar-12 10010 40 2455990063 2455988061 2455998071
02-Mar-12 02-Mar-12 0 50 2455990063 2455989062 2455989062
06-Mar-12 11-Mar-12 5005 60 2455990063 2455993066 2455998071
11-Mar-12 11-Mar-12 0 70 2455990063 2455998071 2455998071
18-Jul-39 01-Jan-12 2907496166 80 2455990063 2465988199 5373484365
15-Dec-85 01-Jan-12 2817496016 80 2455990063 2555988349 5373484365
и где я применяюмежду комментариями, запрос не возвращает результатов (через связанный сервер sql2008)
, и когда я запускаю тот же запрос из Sql Developer (Oracle)
, я получаю первую строку
Что интересно: а) почему это возвращает разные результаты при выполнении в разных средах (хотя сервер, выполняющий запрос, является одним и тем же сервером)?б). почему между пунктами не возвращается ожидаемый результат?