2016-04-13 3 views
1

Unterschied zwischen zwei Abfragen mit^MySql: Wie Zitate um Datum (String) wirkt sich auf die Ergebnisse?

SELECT COUNT(*) 
FROM customers_reports AS cr 
JOIN customers_docs on customers_docs.customerId=cr.customerId 
WHERE cr.firstDepositDate >= 2015-12-01 AND customers_docs.docs = "None"; 

markiert Diese Abfrage gibt 2 Ergebnisse.

SELECT COUNT(*) 
FROM customers_reports AS cr 
JOIN customers_docs on customers_docs.customerId=cr.customerId 
WHERE cr.firstDepositDate >='2015-12-01' AND customers_docs.docs = "None"; 
          ^  ^                                  

Während diese Abfrage 30.000 Ergebnisse zurückgibt.

Darf jemand erklären warum?

+1

was beeinflussen wird, ist der Datentyp von 'firstDepositDate'? –

+0

Verwendet MySQL für String-Literale doppelte Anführungszeichen? (Laut ANSI SQL '" None "' ist eine Spalte.) – jarlh

Antwort

1

Ohne Apostrophe der Datumswert wird der arithmetische Ausdruck und 2015.12.01 ist 2002, die offensichtlich das Ergebnis

1

Da, wenn Sie das Datum nicht angeben, denkt MySQL, dass es eine Ganzzahl ist.

2015-12-01 wertet 2002 aus.

Verwandte Themen