Konvertering er en utbredt oppgave for programmerere og databaseingeniører. Denne artikkelen vil utforske hvordan du konverterer en Varchar -type til en numerisk type i standard SQL.
Det må tas i betraktning at når vi sier standard SQL, mener vi teknikker og metoder universelt vedtatt av relasjonsdatabasemotorer.
SQL Cast Method
I standard SQL oppnås typekasting ved å bruke cast () -funksjonen. Funksjonssyntaksen er som vist:
Støpt (uttrykk som t_type [(lengde)]);Funksjonen tar tre hovedparametere:
SQL konverter varchar til int
Tenk på eksemplet nedenfor som konverterer varchar -type til en INT64 -type.
Velg Cast ('344' som int64);Eksempelforespørselen skal returnere verdien som er konvertert til Int som vist:
int4SQL konverter varchar til numerisk
For å konvertere en varchar -type til en numerisk type, endrer du måltypen som numerisk eller bignumerisk som vist i eksemplet nedenfor:
Velg Cast ('344' som numerisk) som numerisk;Spørsmålene ovenfor skal returnere den spesifiserte verdien som er konvertert til numerisk og stor numerisk.
Merk at for å sikre at databasemotoren din støtter måltypen din; Ellers vil det returnere en feil.
SQL konverter varchar til å flyte
Hvis du har flytende punkt varchar, kan du konvertere den til en flottørtype, som vist i eksemplet nedenfor:
Velg Cast ('3.14159 'som float) som float;Koden skal returnere float -typen til den spesifiserte varcharen. Eksempelutgang er som vist nedenfor:
FLYTESQL Safe Casting
Har du lurt på hva som skjer hvis du prøver å konvertere en ikke-numerisk streng til en numerisk type? Tenk på eksemplet nedenfor:
Velg Cast ('Hallo' som int64) som var;Hvis du prøver å kjøre spørringen ovenfor, vil den mislykkes, da den spesifiserte varchar -typen ikke kan konverteres til int.
For å forhindre at spørringen svikter hvis konverteringen ikke støttes, kan vi bruke Safe_cast -metoden.
Funksjonen oppfører seg på samme måte som støpefunksjonen, bortsett fra at den ikke mislykkes hvis konverteringen mislykkes. I stedet returnerer den null som vist i eksemplet nedenfor:
Velg Safe_cast ('Hallo' som int64) som NAN;I stedet for en feil, bør spørringen ovenfor komme tilbake:
"Nan": NullMERK: Safe_cast -metoden støttes i standard SQL. Noen databasemotorer kan implementere prosedyrene annerledes. For eksempel, i SQL Server, blir Safe_cast () -funksjonen omdøpt til Try_cast eller Try_Convert.
Konklusjon
I denne opplæringen diskuterte vi hvordan du utfører type-casting i standard SQL. For eksempel diskuterte vi konvertering av varchar til int64, numerisk, bignumerisk og float64. Vi dekket også hvordan vi skal utføre sikker støping for scenarier der typen-casting kan føre til en feil.