Dato og tid er viktig når du jobber med data. De lar oss følge med på endringene som er gjort i databasen innen spesifikke tidsintervaller.
I SQL -databaser må du imidlertid spesifisere datoen i sin helhet (i.e., året, måneden og datoen.) Derfor, hvis du bare trenger tilgang til en bestemt del av datoen, må du utføre en bestemt operasjon.
Denne artikkelen vil se på hvordan vi kan trekke ut ukedagen fra en datoverdi ved å bruke både arv og standard SQL.
Selv om noen databasemotorer fremdeles støtter Legacy SQL, anbefaler vi alternativet for standard SQL for å sikre kompatibilitet med store databasemotorer.
Legacy SQL
Den første metoden vi vil diskutere er å trekke ut ukens dag ved hjelp av Legacy SQL. For dette vil vi bruke DayOfWeek () -funksjonen.
Denne funksjonen tar en tidsstempel datatype som argument og returnerer ukens dag. Returverdien er en heltallstype fra 1 til 7: hvor 1 er søndag, og syv er lørdag inkluderende.
Funksjonssyntaks er som vist nedenfor:
UKEDAG(Denne funksjonen illustrert i eksemplet nedenfor:
Velg Day (tidsstempel ('2012-04-01 10:07:05')) som DAY_OF_WEEK;Ovennevnte spørring skal returnere et heltall som indikerer ukens dag. Eksempelutgang er som vist:
ukedagStandard SQL.
I motsetning til Legacy SQL, gir Standard SQL oss en funksjon for å trekke ut forskjellige deler av datetime.
Extract () -funksjonen trekker ut en spesifikk del fra en tidsstempeltype. Funksjonssyntaksen er som vist:
Extract (del fra date_ expression)Funksjonen tar delen å trekke ut tidsstempel. Delen kan inkludere følgende alternativer:
For denne opplæringen er vi interessert i å trekke ut ukens dag, slik at vi kan spesifisere delen som DayofWeek.
Funksjonen skal returnere et heltallverdi fra 1 til 7.
Et eksempel er som vist:
PLUKKE UTOvennevnte spørring skal returnere utdataene som:
ukedagKonklusjon
Denne artikkelen diskuterte to hovedmetoder for å trekke ut ukens dag fra et datoobjekt i arv og standard SQL.