SQL TO_CHAR

SQL TO_CHAR
To_char () -funksjonen i SQL lar deg konvertere en verdi til en streng. Denne funksjonen er tilgjengelig i Oracle -databaser.

La oss diskutere hvordan du kan bruke Oracle's to_char () -funksjon og de tilgjengelige alternativene i andre databasemotorer.

Oracle to_char () funksjon

TO_CHAR () -funksjonen lar deg konvertere et nummer eller et datetime -objekt til en streng i Oracle -databaser.

De tilgjengelige syntaksene er som vist nedenfor:

to_char_number :: =
to_char_date :: =

Funksjonen vil ta et tall i den første syntaksen og konvertere den til en varchar2 -type. Antallet som er spesifisert i dette tilfellet kan være typen nummer, binær_float eller binary_double.

Vi kan illustrere et eksempel som vist nedenfor:

PLUKKE UT
To_char (1000, '99999.9 ')
FRA
Dobbel;

Eksemplet ovenfor vil konvertere nummer 1000 til en streng som er spesifisert i FMT. Du kan sjekke Oracle -formateringsmodeller for å lære mer.

Koden over skal returnere utdataene som:

Du kan også konvertere et tall til en streng med nuller som vist i eksemplet nedenfor:

PLUKKE UT
To_char (1000, '0000000')
FRA
Dobbel;

Ovennevnte skal komme tilbake:

TO_CHAR - DATETIME

Den andre bruken av TO_CHAR -funksjonen i Oracle er å konvertere en datetime til en streng. Funksjonen tar DateTime -objektet for typedato, tidsstempel, tidsstempel med tidssone osv.

Funksjonen vil deretter konvertere den spesifiserte verdien til en varchar2 -type.

Vi kan illustrere et eksempelbruk som vist nedenfor:

PLUKKE UT
To_char (sysdate, 'yyyy_mm_dd')
FRA
Dobbel;

Eksemplet ovenfor skal konvertere verdien fra SysDate-funksjonen til en streng etter det spesifiserte formatet til YYYY-MM-DD.

Utgangen er som vist nedenfor:

Du kan spesifisere andre formateringsalternativer som vist i ressursen nedenfor.

https: // dokumenter.Oracle.com/cd/b19306_01/server.102/b14200/sql_elements004.HTM#I34510

For å konvertere verdien ovenfor til lang datoformat, kan vi for eksempel kjøre:

PLUKKE UT
To_char (sysdate, 'dl')
FRA
Dobbel;

Koden over skal returnere:

SQL Cast -funksjon

Du vil merke at andre databasemotorer ikke gir TO_CHAR -funksjonen. Vi kan imidlertid bruke rollebesetningen () fra standard SQL for å konvertere en verdi til en streng.

Funksjonssyntaksen er som vist:

Cast (Expression as String [Format_Clause [på Time Zone TimeZone_Expr]])

Rollebesetningsfunksjonen vil da tillate deg å konvertere en verdi til en strengtype. Så for eksempel for å konvertere et tall til en streng, kan vi gjøre:

Velg Cast (100 som varchar);

Koden over skal konvertere heltallet til Varchar som vist:

VARCHAR
---------
100
(1 rad)

Hvis den spesifiserte ikke kan konverteres til måltypen, vil funksjonen returnere en feil.

Et eksempel er som vist:

Velg Cast ('Hei!'Som heltall);

I eksemplet ovenfor prøver vi å konvertere strengen HI til et heltall. Dessverre vil dette resultere i en feil som vist nedenfor:

Feil: Ugyldig syntaks for inngang til Skriv inn heltall: “Hei!”

MERK: Feilmeldingen kan variere avhengig av måldatabasemotoren.

Du kan også bruke støpefunksjonen til å konvertere et datetime -objekt til en streng. Tenk på det illustrerte eksemplet vist nedenfor:

Velg Cast (nå () som varchar);

Ovennevnte spørring skal returnere:


------------------------------
2022-04-05 01:31:26.62212+03
(1 rad)

Som du kan se, konverterer støpefunksjonen verdien av nå () -funksjonen til en streng.

Konklusjon

For denne artikkelen lærte du hvordan du bruker To_Char () -funksjonen for å konvertere et tall eller datetime til en streng ved hjelp av Oracle Database Engine. Vi dekket også hvordan vi skal konvertere fra en type til en annen ved hjelp av cast () -funksjonen i standard SQL.

Takk for at du leser!!