Indholdsfortegnelse:
- Stringværdiudtryk
- I
- Datetime-værdi udtryk
- Hvis du trækker en datetime fra en anden, får du et interval på
- Værdien af en
Video: SQL Queries with Expression Fields (How to put Calculated Columns in a Query) 2024
Et SQL-udtryk kan være enkelt eller komplekst. Udtrykket kan indeholde bogstavelige værdier, kolonne navne, parametre, værtsvariabler, underforespørgsler, logiske forbindelser og aritmetiske operatører. Uanset dets kompleksitet skal et udtryk reducere til en enkelt værdi.
Af denne grund er SQL-udtryk almindeligvis kendt som -værditryk. Kombinering af multipleværdige udtryk i et enkelt udtryk er mulig, så længe komponentværdit udtryk reducerer til værdier, der har kompatible datatyper.
SQL har fem slags værditryk:
-
Stringværdier udtryk
-
Numeriske værdier udtryk
-
Udtryk Datetime-værdi
-
Interval værdi udtryk
-
Begrænsede udtryk
Stringværdiudtryk
Den enkleste strengværdierekspression angiver en enkelt strengværdi. Andre muligheder inkluderer en kolonne reference, en sæt funktion, en skalar subquery, en CASE ekspression, en CAST ekspression eller en kompleks streng værdi ekspression.
Kun en operatør er mulig i et strengværdige udtryk: sammenkoblingsoperatør. Du kan sammenkæde nogen af værditilkendegivelserne med et andet udtryk for at skabe et mere komplekst strengværdige udtryk. Et par vertikale linjer (||) repræsenterer sammenkoblingsoperatøren. Nedenstående tabel viser nogle eksempler på strengværdige udtryk.
Udtryk | Producerer |
---|---|
'Peanut' ||
'skør' |
'Peanut skør' |
'Jelly' || '||
' bønner ' |
' Jelly Beans ' |
FIRST_NAME || "||
LAST_NAME |
' Joe Smith ' |
B'1100111' ||
B'01010011 ' |
' 110011101010011 ' |
" | | Asparagus '
' Asparges ' |
' Asparges '|| |
"
' Asparges ' |
' Som '||' || |
'par' || "||
'agus' 'Asparges' |
|
Numerisk værdi udtryk
I
numeriske værdi udtryk, kan du anvende addition, subtraktion, multiplikation og division operatører til numeriske data. Udtrykket skal reducere til en numerisk værdi. Komponenterne i et numerisk værdiudtryk kan være af forskellige datatyper, så længe alle datatyperne er numeriske. Resultatets datatype afhænger af datatyperne på de komponenter, hvorfra du får resultatet. Alligevel specificerer SQL-standarden ikke stift den type, der stammer fra en bestemt kombination af kildekspressionskomponenter. Det skyldes forskellene blandt hardwareplatforme.Se dokumentationen for din specifikke platform, når du blander numeriske datatyper.
Her er nogle eksempler på numeriske værdi udtryk:
-27
-
49 + 83
-
5 * (12-3)
-
PROTEIN + FAT + CARBOHYDRATE
-
FEET / 5280
-
COST *: multiplikatorA
-
Datetime-værdi udtryk
Datetime-værdi udtryk
udføre operationer på data, der omhandler datoer og tider. Disse værdi udtryk kan indeholde komponenter, der er af typen DATE, TIME, TIMESTAMP eller INTERVAL. Resultatet af et datetime-værdiudtryk er altid en datetime-type (DATE, TIME eller TIMESTAMP). Følgende udtryk giver f.eks. Datoen en uge fra i dag: CURRENT_DATE + INTERVAL '7' DAY
Tiderne opretholdes i Universal Time Coordinated (UTC) - kendt i Storbritannien som Greenwich Mean Time - men du kan angive en forskydning for at gøre klokkeslættet korrekt for en bestemt tidszone. For dit systems lokale tidszone kan du bruge den enkle syntaks, der er givet i følgende eksempel:
TIME '22: 55: 00 'I LOKAL
Alternativt kan du angive denne værdi langt:
TIME '22: 55: 00 'TIDSONE INTERVAL' -08. 00 'HOUR TO MINUTE
Dette udtryk definerer lokal tid som tidszone for Portland, Oregon, hvilket er otte timer tidligere end Greenwich, England.
Interval værdi udtryk
Hvis du trækker en datetime fra en anden, får du et interval på
. Tilføjelse af en datetime til en anden giver ingen mening, så SQL tillader dig ikke at gøre det. Hvis du tilføjer to intervaller sammen eller trækker et interval fra et andet interval, er resultatet et interval. Du kan også enten formere eller opdele et interval med en numerisk konstant. SQL har to typer intervaller:
årsmåned og dagtid. For at undgå tvetydigheder skal du angive, hvilke der skal bruges i et intervaludtryk. Følgende udtryk giver f.eks. Intervallet i år og måneder, indtil du når pensionsalderen: (BIRTHDAY_65 - CURRENT_DATE) ÅR TIL MÅNED
Følgende eksempel giver et interval på 40 dage:
INTERVAL'17 'DAG + INTERVAL' 23 'DAG
Eksemplet som følger følger til det samlede antal måneder, som en moder på fem har været gravid (forudsat at hun forventer i øjeblikket ikke nummer seks!):
INTERVAL' 9 'MÅNED * 5
Intervaller kan være negative såvel som positive og kan bestå af et hvilket som helst værdiudtryk eller kombination af værdiudtryk, som evaluerer til et interval.
Betingelser for betingede værdier
Værdien af en
betinget værdi udtryk afhænger af en tilstand. De betingede værdi udtryk CASE, NULLIF og COALESCE er betydeligt mere komplekse end de andre typer værdit udtryk.