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)

jeudi 7 septembre 2006 à 10:08:44 | probleme d'ecriture de fonction

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

jeudi 7 septembre 2006 à 13:27:00 | Re : probleme d'ecriture de fonction

skweeky

Membre Club Administrateur CodeS-SourceS
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

jeudi 7 septembre 2006 à 18:42:22 | Re : probleme d'ecriture de fonction

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?



jeudi 7 septembre 2006 à 19:07:58 | Re : probleme d'ecriture de fonction

skweeky

Membre Club Administrateur CodeS-SourceS
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

jeudi 7 septembre 2006 à 21:22:18 | Re : probleme d'ecriture de fonction

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


jeudi 7 septembre 2006 à 22:40:36 | Re : probleme d'ecriture de fonction

nhervagault

Administrateur CodeS-SourceS
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.



vendredi 8 septembre 2006 à 06:18:23 | Re : probleme d'ecriture de fonction

cudenetf

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

samedi 9 septembre 2006 à 20:18:25 | Re : probleme d'ecriture de fonction

skweeky

Membre Club Administrateur CodeS-SourceS
Oui, j'avais oublié le = 1


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



Cette discussion est classé dans : fonction, date, function, date1, date2


Répondre à ce message

Sujets en rapport avec ce message

probleme de date [ par romainbisson ] Bonjour,je souhaite recuperer la date en SQL,avec la fonction curtime(), je recuper l'heure donc c'est bonmaintenant avec la fonction curdate(), je re Problème procédures stockées [ par romainbisson ] Voila, j'ai une requete qui ressemble à sa : <span lang="EN-GB" style="FONT-SIZE: 10pt; mso-an Comparaison de Date entre SQLExpress et VB.NET [ par Zachs ] Hello, j'ai besoin, pour mon appli, de comparer 2 date. Une qui se trouve dans ma base de donnée et l'autre que je récupère depuis un calendrier. Pou Moyenne [ par G__D ] Bonjour...Je débute en SQL et un premier soucis se pose à moi.J'ai une table toute simple du typeDATE                                    VALEUR28/03/2 convert string to date [ par sofiesofie ] salut,j'ai une table "matable"(num, date) tel que date de type datetime.dans ma formulaire la date est de type string (string d="24/05/2008").pour fai Obtenir date de mise à jour [ par Toub63 ] Bonjour à tous,Est-il possible d'obtenir une date de mise à jour d'un enregistrement via une champ spécial  ou autre fonction de SQL server 2000 ?Un e requete SQL et résultat sous forme de pourcentage? [ par othland ] Bonjour tout le monde:j'ai une question à poser :je travaille sur un serveur SQL distant et j'ai l'exemple de la table suivante :code  |            da Insertion de date [ par Zachs ] Hello, j'ai une requête qui insert une date dans une colonne de Type "datetime" d'une table mais a chaque fois que j'essaye de l'inserer il me met "Er limiter les résultats a la date max de chaque ligne [ par Dr_shaman ] Bonjour, voila mon problème, j'ai Deux table, une dans laquelle il y a les demande enregistré (table : DEMANDES) et les demande valider. Une autre ou Cherche equivalence d'une fonction de Sybase (ASE) à SQL Anywhere (ASA) [ par Flora1005 ] Bonjour, Je recherche l'équivalent de la fonction sp_helpindex (qui liste tous les index d'une base pour Sybase) en SQL Anywhere ....Merci d'avance


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.