2012-05-15 4 views
0

Salut, je suis en train d'obtenir le plus proche date ici est mon codeGet date la plus proche en php

SELECT schedule_date FROM schedule_table WHERE schedule_date > '2012-06-07' and event_id='23' ORDER BY schedule_date ASC 
     LIMIT 1 

ici table réelle schedule_date contiennent 2012-06-07 00:00:00 comme this.But i Check « 2012 -06 à 07' de sorte

i obtenir une sortie comme ceci 2012-06-07 06:53:57 qui comptent même date est venu mais j'ai besoin 2012-06-08 04:53:57 Je pense ici que nous devons vérifier cette condition en utilisant comme opérateur

comment pourrais-je utiliser comme opérateur dans ce requête pour obtenir la date la plus proche en sql . Merci d'avance.

+1

La question n'est pas claire. Quelle est l'entrée? Quelle est la sortie désirée? Qu'est-ce que vous obtenez à la place? –

+0

Pourquoi avez-vous besoin d'un opérateur similaire dans un champ de date? C'est un champ de date, pas une chaîne. Essayez-vous d'obtenir la date la plus proche de la date que vous avez fournie, que ce soit dans le passé ou dans le futur? – Recognizer

+0

lorsque la date fournie est chaîne utilisateur m'envoyer la date du jour seulement pas le temps alors comment puis-je vérifier cette condition –

Répondre

1

Vous disposez d'un cas classique de valeur de date correspondante avec un type de champ datetime. Ce dont vous avez besoin, c'est la première valeur temporelle dans la même date. Il est possible que vos données contiennent plusieurs lignes avec des données à la même date mais avec des valeurs temporelles différentes. Vous devez utiliser les éléments suivants:

SELECT schedule_date FROM schedule_table WHERE date(schedule_date) >= '2012-06-07' and event_id='23' ORDER BY schedule_date ASC 
     LIMIT 1 

La fonction date() est expliquée dans la documentation MySQL here.

+0

hey merci beaucoup ça marche –

+0

Bienvenue mon pote :) – somnath

2

Requête: trier par date, supérieure/égale à 2012-06-07, limite 1

le dossier retourné devrait être votre choix rangée

Note: Ne pas utiliser l'opérateur LIKE. Il est inutile ici car il est destiné à rechercher des correspondances de texte dans une chaîne donnée. Ce qui n'est clairement pas ce que votre requête essaie d'accomplir.

+0

OP besoin comme opérateur ... –

+0

dans la question ci-dessus j'ai besoin de plus grande date –

+1

@FahimParkar OP pense qu'ils ont besoin de l'opérateur 'LIKE', mais ils le font certainement * pas *. – MetalFrog

Questions connexes