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 36
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 36
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 36
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 36
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 36
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
Rejoignez-nous