Fonction pour recuperer le jour prochain

yann591
Messages postés
26
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
5 septembre 2008
- 22 juil. 2008 à 10:03
hymnuade
Messages postés
39
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
15 février 2010
- 12 nov. 2008 à 20:23
Bonjour,

J'essaie de faire une requête qui filtre avec le jour prochain, j'ai effectué plusieurs recherches sans satisfaction.

j'en suis la mais il reconnais pas cette fonction.

SELECT     *
FROM        ma_table
WHERE     (date_naissance = { fn NEXT_DAY({ fn NOW() }) })

Merci d'avance pour votre aide.

yann

12 réponses

nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
22 juil. 2008 à 11:08
Salut,

Pourquoi mettre des parenthèse après le WHERE ?

Si tu fais ça en php, met ça derrière ta requête :

or die(mysql_error());

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
yann591
Messages postés
26
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
5 septembre 2008

22 juil. 2008 à 12:17
merci mais je m en sert dans un job sur sql serveur.

j'ai juste besoin d'une fonction qui me renvoi le jour suivant.

yann
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
22 juil. 2008 à 12:47
essai comme ça :

SELECT * FROM ma_table WHERE date_naissance = NEXT_DAY(NOW());

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
yann591
Messages postés
26
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
5 septembre 2008

22 juil. 2008 à 13:11
Merci mais la fonction next day n 'est pas reconnu.

yann
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
22 juil. 2008 à 13:54
C'est normale,

Cette fonction n'est pas reconu par SQL Server, et en plus elle sert a retourner le prochain premier jour de la semaine...

http://sqlpro.developpez.com/cours/sqlaz/fonctions/

Voici ce qui pourai t'intéresser :

1.7. Fonctions temporelles

Donc va sur le liens au chapitre 1.7 et regarde si quelque chose peut te convenir...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
yann591
Messages postés
26
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
5 septembre 2008

22 juil. 2008 à 14:36
Merci, j'avais déja fait un tour sur ce site.(sympa d ailleur)

si je fait  SELECT     DATEADD(dd, 1, '22/07/2008')

j'obtient bien la date de demain, mais g besoins d'un GETDATE() pour que ca puisse être autonome,

SELECT     DATEADD(dd, 1, GETDATE())

Cependant le GETDATE() retourne la date et l'heure, il me faudarais seulement la date et je ne trouve pas de méthode substring en sql serveur.

yann
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
22 juil. 2008 à 14:43
il y a des regex en sql mai je sais plus ou j'ai vu ça, cherche sql et regex en même temps, tu verra !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
yann591
Messages postés
26
Date d'inscription
dimanche 3 juin 2007
Statut
Membre
Dernière intervention
5 septembre 2008

22 juil. 2008 à 14:49
Sinon g fait ca, mais ca me retourne rien

SELECT     DATEADD(dd, 1, substring(cast(GETDATE() AS varchar), 0, 10))

Je ne voit pas pourquoi ca ne marche pas.

yann
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
22 juil. 2008 à 14:52
oulala, ça j'y connait rien, je peus rien te dire la...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
crn_c21
Messages postés
302
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
4 février 2011

22 juil. 2008 à 16:41
Le SUBSTRING, il faut le faire sur le DATEADD et pas le contraire!!
0
hymnuade
Messages postés
39
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
15 février 2010

31 oct. 2008 à 19:44
SELECT








CONVERT


(


varchar


(

10


),


DATEADD


(

dd


,

1


,





GETDATE


()),

103


) te donne un résultat au formatdd/mm/yyyy.

Le lien pour jeter un oeil aux format de datetime http://msdn.microsoft.com/fr-fr/library/ms187928(SQL.90).aspx
0
hymnuade
Messages postés
39
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
15 février 2010

12 nov. 2008 à 20:23
Sous quelle forme le jour suivant ?
SELECT     DATEADD(dd, 1, '22/07/2008') te renvoie une date ...

Après tu peux combiner avec un CONVERT
Exemple : SELECT

CONVERT(VARCHAR(10
),DATEADD(dd
, 1
,
'22/07/2008'),103 te donne une chaîne au format jj/mm/yyyy.
Voir les formats à : http://msdn.microsoft.com/en-us/library/ms187928.aspx

Ou alors tu peux composer une chaîne rien qu'à toi avec des DATEPART et DATENAME depuis ta date.

Astalavista
0