Problme de selection de date

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 7 sept. 2006 à 09:31
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006 - 19 sept. 2006 à 12:55
bonjour,
j'aimerais pouvoir simplement faire des comparaisons sur le champ date d'un smalldatetime
si une telle fonction existe merci de me le signaler
J'aimerais savoir comment faire:
day(smalldatetime1)=day(smalldatetime2)
and month(smalldatetime1)=month(smalldatetime2)
and year(smalldatetime1)=year(smalldatetime2)
d'un seul coup en fait

(j'aipas trouvé de fonction integree le faisant directement donc j'ai essayé de creer la mienne)

 create function meme_date(
 @date1 datetime,
 @date2 datetime
 )
 returns bit
 as
 begin
 if ( day(@date1)=day(@date2)
 and month(@date1)=month(@date2)
 and year(@date1)=year(@date2)
 )
--then
 return 1
 else
 return 0
 end
 go

par contre il doit y avoir une erreur dans ma syntaxe car je n'arrive pas aenregistrer cette fonction

ou sinon si quelqu'un sait comment creer une fonction dateof(@date)

qui ne renvoie que le champ date d'une datetime cela serait tres utile egalement

merci

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
7 sept. 2006 à 22:35
Salut

Je crois que tu compliques la vie

create function meme_date(
@date1 datetime,
@date2 datetime
)
returns bit
as
begin
return @date1 = @date2
END

Et encore plus simple
IF @date1 = @date2 THEN

Je ne comprends pas trop ton probleme

Sinon tu as les fonctions temporelles qui exsite
http://fadace.developpez.com/sgbdcmp/fonctions/#temporel
et
sqlpro.developpez.com


Pour info je crois que dans ton tsql il manque un begin apres le else.

Voila
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
8 sept. 2006 à 06:20
je peux pas faire @date1=@date2 parce que leur partie heure n'est pas la meme, je n'aurais donc pas le resultat voulu
0
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
19 sept. 2006 à 12:55
crilun

Si tu es en SQL server ceci te renverras uniquement la date au format jj/mm/aaaa sous forme de chaine de caractere
tu peut donc faire ton test a partir de ceci
CONVERT(VARCHAR(10),getdate(),103)
0
Rejoignez-nous