2013-06-04 2 views
3

Когда я использую это:SQL переменной даты и времени

VAR v_start_date VARCHAR2(30); 
    EXEC :v_start_date := to_date('03-06-2013 04:00:00 PM','DD-MM-RRRR HH:MI:SS AM'); 
    VAR v_end_date VARCHAR2(30); 
    EXEC :v_end_date := to_date('04-06-2013 04:00:00 PM','DD-MM-RRRR HH:MI:SS AM'); 

    print v_start_date 
    print v_end_date 

Мой выход получает укорачивается на это:

v_start_date     
    ------------------------------ 
    03-JUN-13      

    v_end_date      
    ------------------------------ 
    04-JUN-13      

Как я могу сделать переменные сохраняют время суток?

+2

Какие СУБД вы используете? Oracle? Это важно, особенно в области даты и времени, где каждая система отличается от других (по крайней мере, по частям). –

+0

СУБД - это Oracle. – jackchammons

ответ

0

Это должно работать:

VAR v_start_date VARCHAR2(30); 
EXEC :v_start_date := to_date('03-06-2013 04:00:00 PM','DD-MM-RRRR HH:MI:SS AM'); 
VAR v_end_date VARCHAR2(30); 
EXEC :v_end_date := to_date('04-06-2013 04:00:00 PM','DD-MM-RRRR HH:MI:SS AM'); 

print to_char(v_start_date,'DD-MM-RRRR HH:MI:SS AM'); 
print to_char(v_end_date,'DD-MM-RRRR HH:MI:SS AM'); 

Редактировать

Для получения дополнительной информации о to_char:

to_char

0

Вы неявно преобразующего значения даты и времени, возвращенное to_date при назначении его к варчару. Вы должны использовать явно преобразовать его to_char с соответствующим стилем, такие как:

EXEC :v_start_date := to_char(
    to_date('03-06-2013 04:00:00 PM','DD-MM-RRRR HH:MI:SS AM'), 
    'YYYY-MM-DD HH24:MI:SS'); 
0

Либо формат даты с TO_CHAR, как уже указывалось, или иметь все даты выхода с век и времени для текущего сеанса SQLPlus, установите формат даты сессии следующим образом:

ALTER SESSION SET NLS_DATE_FORMAT = 'MM/DD/YYYY HH:MI:SS AM'; 

Любые даты, запрошенные после того, как эта точка будет в указанном формате.

Для сброса к обычному Oracle по умолчанию:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR'; 

Коды форматирования Oracle DATETIME задокументированы here

Смежные вопросы