2016-05-24 16 views
1

Wie kann ich den Datumsbereich zwischen Startdatum bis Maximaldatum auswählen, das in der Tabelle verfügbar ist (z. B. vom 03-05-2016 bis zum höchsten verfügbaren Datum in der Tabelle).So wählen Sie in mysql ab: Startdatum

ich nicht in

select x from y where date between a and b 

als ich keinen Wert für b (Enddatum) haben.

Ich habe den vollständigen Code hinzugefügt, ich habe> = aber die Aussage hat etwas stimmt nicht. Es echo "Failed"

$StartDate = $_POST["StartDate"]; 
if($stmt = $mysqli->prepare("SELECT ActivityDate, ANCO, CoreSite, MailSubject, AssignedDCO, Notes FROM ActivityPlanner WHERE ActivityDate >= ?")) 
{ 
$stmt->bind_param("s", $StartDate); 
$stmt->execute(); 
$stmt->bind_result($ActivityDate, $ANCO, $CoreSite, $MailSubject, $AssignedDCO, $Notes); 
while ($stmt->fetch()) 
{ 
$Str = strval($ANCO); 
echo json_encode($Str).",".json_encode($CoreSite).",".json_encode($MailSubject).",".json_encode($AssignedDCO).",".json_encode($Notes).",".json_encode($ActivityDate).","; 
} 
$stmt->close(); 
echo ("Successfull"); 
} 
else{ 
echo ("Failed"); 
$mysqli->close(); 
} 
+0

'date zwischen a und b 'ist * äquivalent * zu' Datum '= ein UND-Datum <= b'. Siehe: https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_between –

Antwort

3

können Sie nur verwenden, wenn Sie BETWEEN der Bereich kennen . Für Ihr Szenario können Sie einfach > oder >= verwenden.

-- Note: Dates need to be in the format 'yyyy-mm-dd' 
SELECT x FROM y WHERE date >= '2016-03-05' 
+0

Ich versuchte dies, aber es scheint nicht mit php vorbereiteten Anweisung arbeiten, bitte werfen Sie einen Blick auf den Code, den ich hinzugefügt –

+0

Fall ist mit diesem Code gelöst –

2

Diese Abfrage wird von 2016.03.05 bis maximal Datum in der Tabelle

Wählen Sie führt Datum x aus Tisch, an dem Datum> '2016.05.03'

+0

Ich habe den Code hinzugefügt, wie ich prepared Anweisung verwende, aber das funktioniert nicht .. bitte werfen Sie einen Blick darauf –

+0

Dank dies das Problem gelöst –