|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Étudiant Inscription : février 2011 Messages : 237 ![]() |
Bonjour la requete ci dessous ne fonctionne pas je pense que l'égale en rouge est fausse.
svp donner moi une solution. Code :
SELECT total,date FROM [HICHEM].[dbo].[recette] where date=17/09/2011 |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Effectivement elle ne peut pas fonctionner parce qu'un prédicat dans une clause WHERE ne peut être testé que sur une valeur atomique. Vous devez donc écrire : SQL Server fera le transtypage automatiquement, ce qui n'est pas toujours le mieux. D'autre part si vous exécutez cette requête sur une instance SQL Server qui a été installée en Anglais, cela ne fonctionnera pas, puisqu'il n'y a pas 17 mois dans une année. En respectant le format ISO de dates, qui est donné dans la documentation des fonctions CAST() et CONVERT(), vous n'aurez jamais de problème. Votre requête devient donc : Et pour être propre : Code :
WHERE date = CAST('20110917' AS datetime)
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
10
|
Copyright © 2000-2012 - www.developpez.com