Dates SQL
La partie la plus difficile lorsque l'on travaille avec des dates est d'être sûr 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.
MySQL Fonctions de date
Le tableau suivant présente les fonctions les plus importantes intégrées Date de MySQL:
Fonction | La description |
---|---|
NOW() | Renvoie la date et l'heure |
CURDATE() | Renvoie la date actuelle |
CURTIME() | Renvoie l'heure actuelle |
DATE() | Extrait la partie date d'une date ou la date / l'expression du temps |
EXTRACT() | Retourne une partie d'une date / heure |
DATE_ADD() | Ajoute un intervalle de temps spécifié à une date |
DATE_SUB() | Soustrait un intervalle de temps spécifié à partir d'une date |
DATEDIFF() | Retourne le nombre de jours entre deux dates |
DATE_FORMAT() | Affiche la date / données de temps dans différents formats |
SQL Server Fonctions de date
Le tableau suivant présente les fonctions les plus importantes intégrées date dans SQL Server:
Fonction | La description |
---|---|
GETDATE() | Renvoie la date et l'heure |
DATEPART() | Retourne une partie d'une date / heure |
DATEADD() | Ajoute ou soustrait un intervalle de temps spécifié à partir d'une date |
DATEDIFF() | Renvoie le temps entre deux dates |
CONVERT() | Affiche la date / données de temps dans différents formats |
SQL date Types de données
MySQL est livré avec les types de données suivants pour stocker une date ou une / valeur de temps de date 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
- AN - format AAAA ou YY
SQL Server est livré avec les types de données suivants pour stocker une date ou une / valeur de temps de date 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
Note: Les types de date sont choisis pour une colonne lorsque vous créez une nouvelle table dans votre base de données!
Pour un aperçu de tous les types de données disponibles, rendez - vous à notre entière référence des types de données .
SQL Travailler avec des dates
Vous pouvez comparer deux dates facilement s'il n'y a pas de composante de temps impliqué!
Supposons que nous avons ce qui suit "Orders" tableau:
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 un OrderDate de "2008-11-11" du tableau ci - dessus.
Nous utilisons l'instruction SELECT suivante:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
Le résultat-set ressemblera à ceci:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
Maintenant, supposons que le "Orders" tableau ressemble à ceci (notez le composant de temps dans le "OrderDate" colonne):
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 instruction SELECT comme ci-dessus:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
nous aurons aucun résultat! Ceci est parce que la requête est à la recherche que pour les dates avec aucune partie du temps.
Tip: Si vous voulez garder vos requêtes simples et faciles à entretenir, ne permettent pas de composants de temps dans vos dates!