Tutoriel SQL

ACCUEIL SQL Introduction SQL Syntaxe SQL Sélection SQL SQL Select Distinct SQL Où SQL et, ou, pas Tri SQL par Insertion SQL dans Valeurs nulles SQL Mise à jour SQL Supprimer SQL SQL Sélectionner Haut Min et Max SQL Nombre SQL, Moy, Somme J'aime SQL Caractères génériques SQL Entrée SQL SQL Entre Alias ​​SQL Jointures SQL Jointure interne SQL Jointure gauche SQL Jointure droite SQL Jointure complète SQL Auto-jointure SQL Union SQL Regrouper SQL par SQL ayant SQL existe SQL Tout, Tout SQL Sélectionner dans Insertion SQL dans la sélection Cas SQL Fonctions nulles SQL Procédures stockées SQL Commentaires SQL Opérateurs SQL

Base de données SQL

SQL Créer une base de données BD de suppression SQL Base de données de sauvegarde SQL Créer une table SQL Table de dépôt SQL Table de modification SQL Contraintes SQL SQL non nul SQL unique Clé primaire SQL Clé étrangère SQL Vérification SQL SQL par défaut Index SQL Incrément automatique SQL Dates SQL Vues SQL Injection SQL Hébergement SQL Types de données SQL

Références SQL

Mots clés SQL Fonctions MySQL Fonctions SQL Server Fonctions MS Access Référence rapide SQL

Exemples SQL

Exemples SQL Questionnaire SQL Exercices SQL Certificat SQL

SQL travaillant avec des dates


Dates SQL

La partie la plus difficile lorsque vous travaillez avec des dates est de vous assurer que le format de la date que vous essayez d'insérer correspond au format de la colonne de date dans la base de données.

Tant que vos données ne contiennent que la partie date, vos requêtes fonctionneront comme prévu. Cependant, si une portion de temps est impliquée, cela devient plus compliqué.


Types de données de date SQL

MySQL est fourni avec les types de données suivants pour stocker une date ou une valeur date/heure dans la base de données :

  • DATE- format AAAA-MM-JJ
  • DATETIME- format : AAAA-MM-JJ HH:MI:SS
  • TIMESTAMP- format : AAAA-MM-JJ HH:MI:SS
  • YEAR- format AAAA ou AA

SQL Server est fourni avec les types de données suivants pour stocker une date ou une valeur date/heure dans la base de données :

  • DATE- format AAAA-MM-JJ
  • DATETIME- format : AAAA-MM-JJ HH:MI:SS
  • SMALLDATETIME- format : AAAA-MM-JJ HH:MI:SS
  • TIMESTAMP- format : un numéro unique

Remarque : Les types de date sont choisis pour une colonne lorsque vous créez une nouvelle table dans votre base de données !


SQL Travailler avec des dates

Regardez le tableau suivant :

Tableau des commandes

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

Maintenant, nous voulons sélectionner les enregistrements avec une OrderDate de "2008-11-11" dans le tableau ci-dessus.

Nous utilisons l' SELECTénoncé suivant :

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

Le jeu de résultats ressemblera à ceci :

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

Remarque : Deux dates peuvent facilement être comparées s'il n'y a pas de composante temporelle impliquée !

Maintenant, supposons que la table "Orders" ressemble à ceci (notez le composant de temps ajouté dans la colonne "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

Si nous utilisons la même SELECTdéclaration que ci-dessus :

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

nous n'obtiendrons aucun résultat ! En effet, la requête ne recherche que des dates sans portion horaire.

Conseil : Pour que vos requêtes restent simples et faciles à gérer, n'utilisez pas de composants de temps dans vos dates, sauf si vous y êtes obligé !