|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : mars 2005 Messages : 76 ![]() |
Bonjour à tous,
Sous SQL Server Express 2008, j'ai une table contenant un champ datetime ne contenant que des heures. Voici un exemple de valeurs - Nom du champ HeureDebut : 1899-12-30 12:00:00.000 1899-12-30 14:00:00.000 1899-12-30 15:30:00.000 Ensuite, via une requête, je cherche les records dont le champ HeureDebut équivaut à 12:30 Critère du WHERE : ==> il me renvoie le bon record. Ensuite, via une requête, je cherche les records dont le champ HeureDebut équivaut à 15:30 Critère du WHERE : ==> il ne me renvoie aucun record. Comment faire pour résoudre ce problème ?? De plus, par la suite, je vais devoir faire des comparaisons HeureDebut > 15h30... Merci pour votre aide, Michael |
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : octobre 2010 Messages : 17 ![]() |
Ceci devrait te convenir et marche également avec > < comme tu auras besoin plus tard.
Code :
Convert(Char(5),HeureDebut,108) = '17:30' |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : mars 2005 Messages : 76 ![]() |
Merci, je teste...
|
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
pour éviter la conversion en varchar, tu peux utiliser DATEPART ( http://msdn.microsoft.com/en-us/library/ms174420.aspx )
Code :
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() |
Bonjour,
Vous avez le type time, pourquoi stocker une "fausse" date dans un datetime si seuls les heures vous intéresse? Remplacer votre datetime par un time vous éviterez ainsi l'appel à des fonctions d'extraction de date... |
|
|
01
|
|
|
#6 | |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Citation:
Pas plus tard que ce matin, j'ai du fouillé dans une bd et je me suis "amuser" avec des heures stockées en varchar(5)... Et pourtant je connais les autres types !!! ![]() Et je me vois mal justifier 2 semaines de développement pour modifier ce type de données sur une application qui tourne depuis 10 ans...
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
bonjour
@iberserk et @7gyY9w1ZY6ySRgPeaefZ on peut trouver un arrangement ![]() Code sql :
|
||
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
J'avais testé ça mais j'étais tombé sur une erreur (bug?) :
Code :
Base de données :Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
||
|
|
00
|
|
|
#9 | |||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Citation:
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) |
|||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() |
A 7gyY9w1ZY6ySRgPeaefZ:
Ce n'était pas une attaque cher collègue :-) juste une préconisation pour répondre à une brebis semble t'il égarée. Je ne connais pas l'avancée de son projet, peut-être sa base à t'elle 10ans... peut-être six mois? Tout le monde ne connait pas tous les typages... Si ma remarque peut lui permettre d'utiliser les "bons" typage à l'avenir (s'il à l'occasion de les mettre en oeuvre bien entendu...)... Je jongle pour ma part actuellement avec une base chez un grand éditeur d'ERP avec un USER TYPE nommé BOOLEAN de type ... varchar(1) (mon préféré)
|
|
|
00
|
|
|
#11 | |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Citation:
J'utilise habituellement la version 2005 et là, ça plante. Avec SSMS 2008, ça tourne....
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() |
Le TIME est apparu avec SQL SERVER 2008... that's probably why
|
|
|
00
|
|
|
#13 | |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
oui, ça explique surement l'origine du problème, mais pas le message d'erreur :
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com