2012-07-19 22 views
5

Mam tabelę z kolumną o nazwie STREAM_TIME o typie DATE.
Próbuję zaktualizować wszystkie wiersze dla tej kolumny do dzisiejszej daty. Użyta baza danych to oracle.BŁĄD podczas używania getDate() w oracle do aktualizacji wierszy

Moje zapytanie:

update bns_bess_messages SET stream_time=getDate(); 

Oracle wraca z tego błędu:

SQL Error: ORA-00904: "GETDATE": invalid identifier 
00904. 00000 - "%s: invalid identifier" 

Jak mogę zaktualizować STREAM_TIME do dnia dzisiejszego?

Dzięki

Odpowiedz

7

Można zrobić to w następujący sposób:

update bns_bess_messages set stream_time = trunc(sysdate); 

Albo jeśli chcesz uzyskać dokładny czas:

update bns_bess_messages set stream_time = sysdate; 

Do sprawdzenia można użyć następującego zapytania :

select sysdate from dual; 
+0

dzięki; zadziałało :) Powiedziano mi, żebym użył getDate(), wydaje mi się, że byłem źle poinformowany – Adrian

+0

'getDate()' jest funkcją T-SQL. – APC

5

getDate() jest częścią funkcji serwera SQL do użytku oracle jednej z poniżej

wykorzystują

select current_date 
from dual; 

update bns_bess_messages SET stream_time=current_date 

lub

Wbudowana funkcja SYSDATE zwraca wartość daty zawierającej aktualną datę i czas w twoim systemie. Na przykład,

select to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS') as "Current Time" 
from dual; 

update bns_bess_messages SET stream_time=sysdate 
5

Oracle wykorzystuje sysdate zamiast getDate()

update bns_bess_messages SET stream_time=sysdate; 
+0

Wygląda na to, że byłem źle poinformowany. tx – Adrian