sql >> Databasteknik >  >> RDS >> Oracle

Hur man får datumet från en sträng i Oracle

Problem:

Du vill konvertera en sträng till ett datum i din resultatuppsättning.

Exempel:

Vår databas har en tabell som heter accounts_creation , med ett fält som heter company_id av datatypen NUMBER och två NVARCHAR2-fält med namnet company_name och registration_date som visas nedan.

företags-id företagsnamn registreringsdatum
1 Tionkamp 5 januari 1978
2 Vestel 21 september 1991
3 Vita kapellet 18 oktober 2017
4 Silverbägare 4 dec 2021
5 JohnnyBros 28 augusti 1984

Vi vill konvertera strängkolumnen registration_date i en datumkolumn.

Lösning:

Vi använder TO_DATE() fungera. Här är frågan:

SELECT company_id,
   company_name,
   TO_DATE(registration_date,'DD Mon YEAR') AS registration_date
FROM accounts_creation;

Här är resultatet av frågan:

företags-id företagsnamn registreringsdatum
1 Tionkamp 05-JAN-78
2 Vestel 21-SEP-91
3 Vita kapellet 18-OKT-17
4 Silverbägare 4-DEC-21
5 JohnnyBros 28-AUG-84

Diskussion:

TO_DATE(string, format) funktion i Oracle konverterar ett strängvärde till ett datum. Funktionen tar två argument:strängen som ska konverteras och datumformatet. I formatspecifikationen, DD betecknar dagen i månaden (1-31), MON betecknar månadens förkortade namn och YEAR betecknar det 4-siffriga året. Du kan läsa mer om de tillgängliga formaten i Oracle SQL-dokumentationen här.


  1. Online kontra offline säkerhetskopiering

  2. java - passerar array i oracle lagrad procedur

  3. Dapper.NET och lagrad proc med flera resultatuppsättningar

  4. vad är problemet med AttachDbFilename