Innholdsfortegnelse:
- Det enkleste
- numeriske verdier uttrykk,
- Utfør operasjoner på data som omhandler datoer og tider. Disse verdien uttrykkene kan inneholde komponenter som er av typen DATE, TIME, TIMESTAMP eller INTERVAL. Resultatet av et datetimeverdieruttrykk er alltid en datetime-type (DATE, TIME eller TIMESTAMP). Følgende uttrykk gir for eksempel datoen en uke fra i dag:
- intervall.
- betinget verdi uttrykk
Video: SQL Queries with Expression Fields (How to put Calculated Columns in a Query) 2024
Et SQL-uttrykk kan være enkelt eller komplekst. Uttrykket kan inneholde bokstavelige verdier, kolonneavn, parametere, vertsvariabler, subqueries, logiske koblinger og aritmetiske operatører. Uansett kompleksitet, må et uttrykk redusere til en enkelt verdi.
Av denne grunn er SQL-uttrykk vanligvis kjent som verdiuttrykk. Kombinere flere verdiguttrykk i et enkelt uttrykk er mulig, så lenge komponentverdier uttrykkene reduserer til verdier som har kompatible datatyper.
Stringsverdige uttrykk-
Numeriske verdier uttrykk
-
Eksempel på datetimeverdier
-
Intervallverdier uttrykk
-
Betingede verdier uttrykk
-
Stringverdiguttrykk
Det enkleste
strengverdieruttrykket angir en enkelt strengverdi. Andre muligheter inkluderer en kolonne referanse, en sett funksjon, en skalar subquery, et CASE uttrykk, et CAST uttrykk eller en kompleks streng verdi ekspresjon.
sammenkoblingsoperatør. Du kan sammenkoble noen av verdien uttrykkene med et annet uttrykk for å lage et mer komplekst strengverdieruttrykk. Et par vertikale linjer (||) representerer sammenkoblingsoperatøren. Følgende tabell viser noen eksempler på strengverdiguttrykk.
'Peanut' || | 'sprø' |
---|---|
'Peanutbrød'
'Jelly' || '|| |
' bønner ' |
' Jelly Beans '
FIRST_NAME || "|| |
LAST_NAME |
' Joe Smith '
B'1100111' || |
B'01010011 ' |
' 110011101010011 '
" | | |
'Asparges' |
'Asparges'
'Asparges' || |
" |
'Asparges'
'Som' || '|| |
' par '|| "|| |
'Agus'
'Asparges'
|
Hvis du sammenkaller en streng til en nulllengdesnor, er resultatet det samme som den opprinnelige strengen. |
I
numeriske verdier uttrykk,
kan du bruke tilleggs, subtraksjon, multiplikasjon og divisjon operatører til numerisk type data. Ekspresjonen må redusere til en numerisk verdi. Komponentene i et numerisk verdiuttrykk kan ha forskjellige datatyper så lenge alle datatyper er numeriske. Datatypen til resultatet avhenger av datatyper av komponentene hvorfra du får resultatet. Likevel spesifiserer ikke SQL-standarden stiv spesifikk typen som kommer fra en bestemt kombinasjon av kildeekspresjonskomponenter. Det er på grunn av forskjellene mellom maskinvareplattformer.Sjekk dokumentasjonen for din spesifikke plattform når du blander numeriske datatyper. Her er noen eksempler på numeriske verdier:
-27
49 + 83
-
5 * (12-3)
-
PROTEIN + FAT + CARBOHYDRATE
-
FEET / 5280
-
COST *: multiplikatorA
-
Datetime verdi uttrykk
-
Datetime verdi uttrykk
Utfør operasjoner på data som omhandler datoer og tider. Disse verdien uttrykkene kan inneholde komponenter som er av typen DATE, TIME, TIMESTAMP eller INTERVAL. Resultatet av et datetimeverdieruttrykk er alltid en datetime-type (DATE, TIME eller TIMESTAMP). Følgende uttrykk gir for eksempel datoen en uke fra i dag:
CURRENT_DATE + INTERVAL '7' DAY Tider holdes i Universal Time Coordinated (UTC) - kjent i Storbritannia som Greenwich Mean Time - men du kan angi en forskyvning for å gjøre tiden riktig for en bestemt tidssone. For systemets lokale tidssone, kan du bruke den enkle syntaksen som er gitt i følgende eksempel:
TIME '22: 55: 00 'PÅ LOKAL
Alternativt kan du angi denne verdien langt:
TIME '22: 55: 00 'TIDSONE INTERVAL' -08. 00 'TIMER TIL MINUTE
Dette uttrykket definerer lokal tid som tidssone for Portland, Oregon, som er åtte timer tidligere enn Greenwich, England.
Intervallverdier uttrykk
Hvis du trekker en datetime fra en annen, får du et
intervall.
Å legge til en datetime til en annen, gir ingen mening, slik at SQL ikke tillater deg å gjøre det. Hvis du legger til to intervaller sammen eller trekker et intervall fra et annet intervall, er resultatet et intervall. Du kan også enten multiplisere eller dele et intervall med en numerisk konstant. SQL har to typer intervaller: årsmåned
og dagtid. For å unngå tvetydigheter må du spesifisere hvilken som skal brukes i et intervalluttrykk. Følgende uttrykk gir for eksempel intervallet i år og måneder til du når pensjonsalder: (BIRTHDAY_65 - CURRENT_DATE) ÅR TIL MÅNED Følgende eksempel gir et intervall på 40 dager:
INTERVAL'17 'DAG + INTERVAL' 23 DAG
Eksemplet som følger følger til sammen det totale antall måneder som en mor på fem har vært gravid (forutsatt at hun for tiden ikke forventer nummer seks!):
INTERVAL '9' MÅNED * 5
Intervaller kan være negative så vel som positive og kan bestå av noe verdsuttrykk eller kombinasjon av verdsuttrykk som evaluerer til et intervall.
Betingede verdier
Verdien av et
betinget verdi uttrykk
avhenger av en tilstand. De betingede verdiuttrykkene CASE, NULLIF og COALESCE er betydelig mer komplekse enn de andre typer verdsuttrykk.