Hva er datert i mysql

Hva er datert i mysql
MySQL er en av de mest populære databasene i verden. Uansett bransje er MySQL bredt tatt i bruk for sine funksjoner. Det er et Open Source RDBMS (Relational Database Management System). Data er organisert i tabeller som kan være relatert til hverandre. Den inkluderer SQL for å utføre forskjellige databasehandlinger.

I denne guiden vil vi sjekke ut en slik funksjon. Det vil demonstrere hvordan du bruker den daterte funksjonen i MySQL.

Datediff () i SQL

Datediff -funksjonen er tilgjengelig som en del av SQL Query Language. I MySQL tar funksjonen datediff () to datoer som inngang, beregner forskjellen og returnerer antall datoer mellom de to datoene.

Slik ser den grunnleggende strukturen til funksjonen ut.

$ Datediff (Expression_1, Expression_2)

Her,

  • Expression_1: Den første datoen
  • Expression_2: Den andre datoen

Uttrykket kan være av noen av følgende formater.

  • tid
  • Dato
  • dato tid
  • DateTime2
  • SmallDateTime
  • DateTimeOffset

I standard SQL er imidlertid datediff () litt annerledes. Den støtter også en tilleggsparameter for å spesifisere datoen for å jobbe med.

$ Datediff (date_part, expression_1, expression_2)

Her,

date_part: beskriver hvilken dato -del funksjonen skal beregne på. Som standard er verdien satt til dager. Imidlertid støtter den også flere verdier. Disse dato -delverdiene har også passende forkortelser.

  • Måned (“MM” eller “M”)
  • år (“yy” eller “yyyy”)
  • kvartal (“QQ” eller “Q”)
  • Dag (“DD” eller “D”)
  • uke (“WK” eller “WW”
  • Dayofyear (“Dy” eller “Y”)
  • time (“HH”)
  • minutt (“mi” eller “m”)
  • For det andre (“SS” eller “S”)
  • Millisekund (“MS”)
  • Mikrosekund (“MCS”)
  • Nanosekund (“NS”)

Funksjonen datediff () kommer også med en rekke begrensninger. Den beregnede verdien av datoforskjellen må være innenfor området for heltall (-2,147,483,647 til 2,147,483,648).

Bruk av datediff ()

I denne delen vil vi sjekke ut forskjellige måter å bruke funksjonen. For demonstrasjon er en MySQL -server satt med phpmyadmin for brukervennlighet. Sjekk ut denne guiden om konfigurering av phpmyadmin på Ubuntu.

Grunnleggende bruk

Fra SQL -fanen, kjør følgende spørsmål.

$ SELECT DATEDIFF ('2090-10-11', '2020-10-10') som 'Resultat';

Som utdataene viser, er forskjellen mellom de angitte datoene 25568 dager.

Sammenlignet med en tidligere dato

Hva om den andre datoen var senere enn første dato? Bytt verdiene og test dem ut.

$ SELECT DATEDIFF ('2020-10-10', '2090-10-11') som 'Resultat';

Som vi ser, viser det fortsatt 25568 dager. Verdien er imidlertid negativ. Det er en avgjørende forskjell å huske på når du implementerer denne funksjonen i et hvilket som helst SQL -skript/spørring.

DATETIME VERDIER

Datediff () -funksjonen aksepterer også datetimeverdier som parameter. Tidsverdiene forventes å være i 24-timers format.

$ SELECT DATEDIFF ('2090-10-11 23:59:59', '2020-10-10 00:00:00') som 'Resultat_1';
$ SELECT DATEDIFF ('2090-10-11 00:00:00', '2020-10-10 23:59:59') som 'resultat_2';

Merk at den ekstra tidsverdien ikke påvirker resultatet av beregningen. Funksjonen fokuserer bare på datoen.

Arbeide med feil datoverdier

Hvis datoverdiene er gale, vil dateff () returnere nullverdien. For å vise frem, skriv inn en ugyldig dato for en av parametrene.

$ SELECT DATEDIFF ('2099-99-99', '2020-20-20') som 'Resultat'

Som forventet er returverdien null.

Kombinere datediff () med curdate ()

Funksjonen Curdate () returnerer gjeldende dato for maskinen. Det tar ingen parameter. Lær mer om å bruke Curdate () for å sette inn gjeldende dato og klokkeslett i MySQL.

Ved hjelp av Curdate () kan vi finne forskjellen mellom nåtiden og måldatoen. La oss for eksempel sammenligne gjeldende dato mot en dag tidligere.

$ SELECT DATEDIFF (CURDATE (), '1980-10-10') som 'Resultat'
$ SELECT DATEDIFF ('2077-01-01', Curdate ()) som 'Resultat'

Merk at det er flere funksjoner, for eksempel Current_Date (), som fungerer på samme måte som Curdate (). I situasjoner kan de begge byttes ut.

$ SELECT DATEDIFF (Current_Date (), '1980-10-10') som 'Resultat'

Bruker datediff () med tabeller

Så langt har vi implementert Simple Datediff () -kommandoer for å demonstrere bruken av den. Det er på tide å sette det ut i handling.

Jeg har tatt en eksempeldatabase som inneholder forskjellige info om et bestemt selskap og dets ansatte for demonstrasjon. Eksempeldatabasen er direkte tilgjengelig herfra. Vi velger første- og etternavn på de ansatte fra denne databasen og finner ut hvor lenge de har jobbet til nå.

$ SELECT FIRST_NAME, last_name, datediff (curdate (), hire_date) som 'dager jobbet' fra ansatte;

Siste tanker

Denne guiden demonstrerer bruken av datediff () -funksjonen i MySQL med hell i MySQL. Det beregner forskjellen mellom to datoer og returnerer verdien som antall dager. Alle demonstrasjonene er med på å forstå arbeidsprosessen med den daterte funksjonen.

For å lære mer om MySQL, sjekk disse guidene på å lage tabeller, gi nytt navn til bord, administrere brukerprivilegier osv.

Glad databehandling!