Les dates et les heures possèdent une place importante dans des applications SQL, dans la mesure ou elles permettent d'ajouter une dimension temporelle aux enregistrements d'une base de données.

Dans de nombreuses applications SQL, des données temporelles sont associées à diverses informations lors de leur saisie manuelle ou automatique.

Par exemple, un nouvel abonné représenté par des champs tels que le nom, le prénom et l'adresse postale entre autres, pourrait également saisir une date de naissance par l'intermédiaire d'un formulaire, puis au moment de l'ajout de l'enregistrement dans la base de données, une date et éventuellement une heure seraient insérées automatiquement dans la ligne de données afin de conserver un historique des demandes d'abonnement.

Table d'abonnés
Num_Abonne
Date_Abonnement
Nom
Prenom
Date_Naissance
Adresse
...

En outre, les dates et les heures peuvent permettre de sélectionner des jeux d'enregistrements avec des requêtes contenant des conditions temporelles. Ainsi, un commercial aurait la possibilité de consulter l'ensemble des individus ayant souscrit un abonnement dans un intervalle de temps précis.

Le format des dates et des heures dépend souvent des différentes implémentations SQL. Néanmoins, des formats standardisés ont été spécifiés afin d'éviter une trop grande hétérogénéité.

Format
Description
AAAA-MM-JJ
représente un format de date respectivement, année-mois-jour, avec un intervalle allant de 0001-01-01 jusqu'à 9999-12-31.
HH:MN:SS.nnn
représente un format horaire respectivement, heures:minutes:secondes, allant de 00:00:00 jusqu'à 23:59:61.999

Le standard ANSI prévoit trois types de données principaux de date et d'heure. D'autres types peuvent exister selon les implémentations.

Type de données
Description
DATE = AAAA-MM-JJ
stocke une date (ex: 10/01/2002).
TIME = HH:MN:SS.nnn
stocke une heure (ex: 10:12:42)
TIMESTAMP = AAAA-MM-JJ HH:MN:SS.nnn
stocke une valeur de date et d'heure combinées.

Les serveurs SQL tels que SYBASE et SQL Server utilisent les types de données datetime combinant les formats de date et d'heure, ainsi que SMALLDATETIME identique au précédent hormis que l'intervalle de date autorisé est plus restreint.

Les types de données de date et d'heure sont divisibles en plusieurs éléments distincts.

Elément
Description
YEAR = AAAA
stocke une année, allant de 0001 jusqu'à 9999.
MONTH = MM
stocke le mois, allant de 01 jusqu'à 12
DAY = JJ
stocke le jour d'une date, allant de 01 jusqu'à 31.
HOUR = HH
stocke les heures, allant de 00 jusqu'à 23
MINUTE = MN
stocke les minutes, allant de 00 jusqu'à 59.
SECONDE = SS.nnn
stocke les secondes, allant de 00 jusqu'à 61.999

Diverses commandes et fonctions permettent une manipulation aisée des dates et des heures dans des applications SQL.