begin process at 2012 05 26 23:56:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Functions

 > 

probleme d'ecriture de fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme d'ecriture de fonction

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ée 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 Requete spéciale [ par RichardV72 ] Bonjour,J'ai un fichier du type:Ville1  date1  valeur1Ville1 date2  valeur2Ville1 date 3  valeur3Ville2  date1  valeur4Ville2  date2  valeur5Ville2  d comment faire cette requette [ par devap ] Salut Je travail avec sqlserver j'ai une table ID-------date1--------date21--------1/12/2008-----30/5/20092--------1/12/2009-----30/6/2010...et une da Problème avec une requête sur une date [ par Egautier18 ] Bonjour, Dans le cadre d'un stage il me faut réaliser une base de donnée sous access. Je suis face à un problème que voici : J'ai créer un formulaire Aide fonction date [ par dev19 ] Bonjour tout le monde j'ai une datetime 11/03/2011 01:01:01 alor moi je veut supprimer le time 01:01:01, je veut dans le resultat juste 11/03/2011 j' ajouter une fonction dans ma concaténation [ par smoke ] Hello à tous ;) Voici mon petit problème: Ma structure: BDD: catalogue -------------> articles ----------------------> auteurID -------------------- date insertion d'un enregistremnt [ par wahidov2000 ] Bonjour, je travaille avec une base de données sqlserver 2005, et j'aimerais bien savoir s'il existe un moyen pour connaitre la date d'insertion d'un Mettre à jour champ Date [ par Elmarzougui ] Bonjour; J'ai une table PostgreSQL, je veux mettre à jour un champ de type DATE (YYYY-MM-JJ): Si les deux premier chiffres de [color=red]YY[/color]YY select sur des enregistrement where date = max [ par zincolove ] bonjour bon voila j'ai un problème :) supposant que ma table est la suivante : nom prenom adresse date_v ------------------------- exercices et corrigés [ par amerprod89 ] [b]Aide nous à trouver les solutions de ces exos!merci[/b] [u][/u] 1-Ecrire un programme qui force un utilisateur à écrire un mot saisi au clavier com


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,462 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales