DATETIME est le type SQL-Server pour stocker des valeurs composées d'une date et d'une heure (horodatage). Il correspond au type TIMESTAMP de la norme SQL.
Si vous avez besoin d’utiliser une date (Format DATETIME) dans une requête SQL de SQLServer. Il vous suffit de savoir :
Format et conversion String en DateTime
La Convertion d’une date:
SELECT * FROM TABLE WHERE DATE_SAI <= CAST('1900-01-04 00:00:00' AS DATETIME)
Mais le mieux est d’utiliser le format concaténée de date Sql 'AAAAMMJJ'.
SELECT * FROM TABLE WHERE DATE_SAI <= '19000104 00:00:00'
Date actuelle :
SELECT CURRENT_TIMESTAMP
On peut donc profiter de ce transtypage pour ajouter n jours, par exemple :
SELECT CURRENT_TIMESTAMP + 1
(ajoute 1 jour)
SELECT CURRENT_TIMESTAMP + 1.5
(ajoute 1 jour et 12h)
Note : La forme concaténée d’une date complète est : 'AAAAMMJJ HH:MM:SS.MSS'
Conversion DATETIME en String
Pour convertir un DateTime en un string on dois utiliser la fonction CONVERT en précisant le paramètre de style permettant de vous donner ces différentes présentations :
| Style |
Présentation |
| 0 ou 100 |
mois jj aaaa hh:mmAM (ou PM) |
| 101 |
mm/jj/aa |
| 102 |
aa.mm.jj |
| 103 |
jj/mm/aa |
| 104 |
jj.mm.aa |
| 105 |
jj-mm-aa |
| 106 |
jj-mm-aa |
| 107 |
mois jj, aa |
| 108 |
hh:mm:ss |
| 9 ou 109 |
mois jj aaaa hh:mm:ss:mmmAM (ou PM) |
| 110 |
mm-jj-aa |
| 111 |
aa/mm/jj |
| 112 |
aammjj |
| 13 ou 113 |
jj mois aaaa hh:mm:ss:mmm |
| 114 |
hh:mi:ss:mmm |
| 20 ou 120 |
aaaa-mm-jj hh:mm:ss |
| 21 ou 121 |
aaaa-mm-jj hh:mm:ss.mmm |
| 126 |
aaaa-mm-jj Thh:mm:ss.mmm |
| 130 |
jj mon aaaa hh:mm:ss:mmmAM |
| 131 |
jj/mm/aa hh:mm:ss:mmmAM |
Par exemple :
CONVERT(VARCHAR, date, 101)
voir aussi developpez.com