begin process at 2008 07 04 09:42:05
1 204 528 membres
70 nouveaux aujourd'hui
14 116 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme d'ecriture de fonction [ SQL Server, MSDE, SQL Express / Functions ] (cudenetf)

probleme d'ecriture de fonction le 07/09/2006 10:08:44

cudenetf
bonjour,
j'essaie d'ecrire une fonction (qui sert a comparer 2 dates de 2 datetime) mais j'ai un message d'erreur
voici la fonction :

 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)
)
 

 return 1

 else

 return 0

 end
 go

mais j'ai un message d'erreur qui est le suivant:
 Msg 455, Level 16, State 2, Server T43P\SQLEXPRESS, Procedure meme_date, [...]
The last statement included within a function must be a return statement.

voila,

c ma premiere fonction ecrite en sql et je ne vois pas ce qui manque

Merci


et je sais pas comment l'uliser apres
 (la g rajouté return 1 juste vaangt le dernier end et ca a l'air de marcher (enfin d'enregistrer la function meme si je sais pas si c bon)
j'ai essayer de faire

select * from table1 where meme_date(date,'11/11/2006')
go

mais ca marche pas

meme_date n'est pas built-in function...

Comment faire?

help!!

Re : probleme d'ecriture de fonction le 07/09/2006 13:27:00

skweeky
Membre Club
(Admin CS)
Pour lui la fonction doit se finir par un return hors du bloc IF, dans ce cas la fonction écrite comme celà :

createfunction meme_date(@date1 datetime, @date2 datetime)
returnsbit

as

begin

if

(

day

(@date1)=day(@date2)

andmonth(@date1)=month(@date2)

andyear(@date1)=year(@date2)

)

      return 1

return 0

end

go

Fonctionnera à l'identique mais ne renvoie pas d'érreur comme RETURN 0 n'est plus dans le ELSE.


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

Re : probleme d'ecriture de fonction le 07/09/2006 18:42:22

cudenetf
ok merci,
mais j'ai toujours le problem que je ne sais pas comment l'utiliser...
 si j'essaie de faire

select * from table1 where meme_date(date,'11/11/2006')
go



meme_date n'est pas built-in function...

c quoi l'astuce?



Re : probleme d'ecriture de fonction le 07/09/2006 19:07:58

skweeky
Membre Club
(Admin CS)
Comme celà :

select * from table1 where dbo.meme_date(date,'11/11/2006')

Attention au nom de champ 'date' n'est pas une très bonne idée... Et attention au format de date, plutôt '20061111' que '11/11/2006'


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

Re : probleme d'ecriture de fonction le 07/09/2006 21:22:18

cudenetf

ben ce coup ci il a l'air de prendre en compte la fonction par contre j'obtiens ce message d'erreur

Msg 4145, Level 15, State 1, Server T43P\SQLEXPRESS, Line 1
An expression of non-boolean type specified in a context where a condition is expected, near ')'.


Re : probleme d'ecriture de fonction le 07/09/2006 22:40:36

nhervagault
Salut

N'est pas un truc du genre
select * from table1 where dbo.meme_date(date,'11/11/2006') = 1

Car le where ne c'est pas avoir quoi ce comparer.



Re : probleme d'ecriture de fonction le 08/09/2006 06:18:23

cudenetf
ah oui ok merci
je pensais que bit remplacait le type booleen en sql
on peut pas avoir directement de type booleen?

Re : probleme d'ecriture de fonction le 09/09/2006 20:18:25

skweeky
Membre Club
(Admin CS)
Oui, j'avais oublié le = 1


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration


Classé sous : fonction, date, function, date1, date2

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS