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.