sql >> Database >  >> RDS >> Oracle

SYSDATE-functie in Oracle

In Oracle Database, de SYSDATE functie retourneert de huidige datum en tijd die zijn ingesteld voor het besturingssysteem waarop de databaseserver zich bevindt.

De geretourneerde waarde is van het type DATE .

Syntaxis

De syntaxis gaat als volgt:

SYSDATE

Er zijn dus geen argumenten vereist (of geaccepteerd) en er zijn geen haakjes.

Voorbeeld

Hier is een voorbeeld:

SELECT SYSDATE
FROM DUAL;

Resultaat:

06/AUG/21

In dit voorbeeld wordt de datum weergegeven op basis van de waarde van de NLS_DATE_FORMAT van mijn systeem parameter (die momenteel DD/MON/RR is) ). We kunnen deze parameter wijzigen of een functie gebruiken zoals TO_CHAR() om het resultaat in een ander formaat te retourneren.

Voorbeeld:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL;

Resultaat:

2021-08-06

Bellen SYSDATE met haakjes

Zoals gezegd, de SYSDATE functie wordt aangeroepen zonder haakjes.

Dit is wat er gebeurt als we het tussen haakjes noemen:

SELECT SYSDATE()
FROM DUAL;

Resultaat:

Error starting at line : 1 in command -
SELECT SYSDATE()
FROM DUAL
Error at Command Line : 1 Column : 15
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

De SYSDATE repareren Retourwaarde

De FIXED_DATE initialisatieparameter stelt u in staat om een ​​constante datum en tijd in te stellen waarop SYSDATE zal altijd terugkeren in plaats van de huidige datum en tijd.

Dit kan helpen bij het testen van situaties waarin u dezelfde invoergegevens nodig heeft om consistent hetzelfde resultaat te produceren.

Zie de documentatie van Oracle voor FIXED_DATE en ook initialisatieparameters in het algemeen voor meer informatie.


  1. Hoe u het datumformaat van uw Oracle-sessie kunt controleren

  2. Verbinding geweigerd (PGError) (postgresql en rails)

  3. Hoe maak je een SQL-weergave met SQLAlchemy?

  4. manieren om globale tijdelijke tabellen in oracle te vermijden