2017-11-14 4 views
1

Ich habe das folgende Skript, das ich laufen bin mit sqlplusZeit fehlt, wenn Abfrage läuft mit Oracle sqlplus

set headsep off 
set pagesize 0 

spool 'c:\file.csv' 
select to_char(trunc(created_date, 'hh')) AS reg_date, count(*) 
from ORDERS.PRODUCT WHERE CREATED_DATE > TO_DATE('01/APR/2017','dd/mon/yyyy') 
group by trunc(created_date, 'hh') ORDER BY reg_date DESC; 
spool off 

Der Ausgang der Stunden fehlt:

13-NOV-17,  400 
13-NOV-17,  519 
13-NOV-17,  126 
13-NOV-17,  119 
13-NOV-17,  171 
13-NOV-17,  183 

Wenn ich das gleiche Skript ausgeführt unter Verwendung von SQL Developer, ich bekomme:

11/12/2017 17:00:00  396 
11/12/2017 16:00:00  402 
11/12/2017 15:00:00  459 
11/12/2017 14:00:00  462 

Warum der Unterschied? Und wie bekomme ich die Stunden beim Laufen mit sqlplus?

Antwort

1

Hinzufügen der folgenden an die Spitze des Skripts das Problem behoben:

alter session set NLS_DATE_FORMAT = 'mm-dd-yyyy HH24:mi:ss';