Verbessern Sie Datumsberechnungen mit dem AND-Operator
P粉554842091
P粉554842091 2024-03-22 12:11:14
0
1
290

Ich bin mir sicher, dass das eine einfache Lösung ist, aber ich kann sie nirgends finden. Ich versuche, AND zu verwenden, um die Ergebnisse einer Abfrage zu beeinflussen. Die Abfrage lautet wie folgt.

select first_name, log_in, date_opened, datediff(log_in, date_opened) as date_diff from table1 where log_in < date_opened;

Die erste Abfrage funktioniert also einwandfrei. Es werden mir nur Zeilen angezeigt, in denen das Anmeldedatum kleiner als das Öffnungsdatum ist, und dann die Gesamtdifferenz in Tagen zwischen den beiden, was großartig ist. Allerdings möchte ich der Abfrage AND hinzufügen, um bestimmte Summen auszuschließen. Zum Beispiel das folgende Beispiel:

select first_name, log_in, date_opened, datediff(log_in, date_opened) as date_diff from table1 where log_in < date_opened and date_diff > 1;

Das Problem ist, dass die Alias-Spalte date_diff nicht als echte Spalte erkannt wird und ich daher eine Fehlermeldung erhalte. Ich habe versucht, HAVING anstelle von AND zu verwenden, aber das funktioniert nicht (nicht das, was ich dachte). Grundsätzlich möchte ich Zeilen mit Nullen ausschließen. Weiß jemand, was ich anstelle von „and date_diff > 1“ verwenden würde?

P粉554842091
P粉554842091

Antworte allen (1)
P粉308089080

重复 where 子句中的表达式(即使用datediff(log_in, date_opened) > 1而不是date_diff > 1),或者使用派生表,然后在封闭的查询中添加条件。

使用派生表的示例:

select first_name, log_in, date_opened, date_diff from ( select first_name, log_in, date_opened, datediff(log_in, date_opened) as date_diff from table1 where log_in 1
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!