SQL -zelfstudie

SQL HOME SQL-intro SQL-syntaxis SQL-selectie SQL Select Distinct SQL waar SQL en, of, niet SQL-bestelling op SQL invoegen in SQL-nulwaarden SQL-update SQL verwijderen SQL Selecteer Top SQL Min en Max Aantal SQL, Gem, Som SQL Vind ik leuk SQL-jokertekens SQL In SQL Tussen SQL-aliassen SQL-joins SQL Inner Join SQL Left Join SQL juiste join Volledige deelname aan SQL Zelf lid worden van SQL SQL-unie SQL Groeperen op SQL hebben SQL bestaat SQL Alle, Alle SQL Selecteren in SQL invoegen in selecteren SQL-geval SQL Null-functies Op SQL opgeslagen procedures SQL-opmerkingen SQL-operators

SQL- database

SQL creëren DB SQL Drop-DB SQL back-up DB SQL-tabel maken SQL-droptabel SQL-wijzigingstabel SQL-beperkingen SQL niet null SQL Uniek Primaire SQL-sleutel SQL externe sleutel SQL-controle SQL-standaard SQL-index Automatische SQL-verhoging SQL-datums SQL-weergaven SQL injectie SQL-hosting SQL-gegevenstypen

SQL- verwijzingen

SQL-trefwoorden MySQL-functies SQL Server-functies MS Access-functies Snelle SQL-referentie

SQL- voorbeelden

SQL-voorbeelden SQL-quiz SQL-oefeningen SQL-certificaat

SQL werken met datums


SQL-datums

Het moeilijkste bij het werken met datums is om er zeker van te zijn dat het formaat van de datum die u probeert in te voegen, overeenkomt met het formaat van de datumkolom in de database.

Zolang uw gegevens alleen het datumgedeelte bevatten, werken uw zoekopdrachten zoals verwacht. Als er echter een tijdsdeel bij betrokken is, wordt het ingewikkelder.


SQL-datumgegevenstypen

MySQL wordt geleverd met de volgende gegevenstypen voor het opslaan van een datum of een datum/tijd-waarde in de database:

  • DATE- formaat JJJJ-MM-DD
  • DATETIME- formaat: JJJJ-MM-DD HH:MI:SS
  • TIMESTAMP- formaat: JJJJ-MM-DD HH:MI:SS
  • YEAR - formaat YYYY of YY

SQL Server wordt geleverd met de volgende gegevenstypen voor het opslaan van een datum of een datum/tijd-waarde in de database:

  • DATE- formaat JJJJ-MM-DD
  • DATETIME- formaat: JJJJ-MM-DD HH:MI:SS
  • SMALLDATETIME- formaat: JJJJ-MM-DD HH:MI:SS
  • TIMESTAMP- formaat: een uniek nummer

Let op: De datumtypes worden gekozen voor een kolom wanneer u een nieuwe tabel in uw database aanmaakt!


SQL Werken met datums

Kijk naar de volgende tabel:

Bestellingen Tabel:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Nu willen we de records selecteren met een OrderDate van "2008-11-11" uit de bovenstaande tabel.

We gebruiken de volgende SELECTverklaring:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

De resultatenset ziet er als volgt uit:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Let op: Twee data kunnen gemakkelijk vergeleken worden als er geen tijdscomponent bij komt kijken!

Neem nu aan dat de tabel "Orders" er als volgt uitziet (let op de toegevoegde tijdcomponent in de kolom "OrderDate"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Als we dezelfde SELECTverklaring gebruiken als hierboven:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

we krijgen geen resultaat! Dit komt omdat de zoekopdracht alleen zoekt naar datums zonder tijdsgedeelte.

Tip: om uw zoekopdrachten eenvoudig en gemakkelijk te onderhouden te houden, gebruik geen tijdcomponenten in uw datums, tenzij het moet!