Beschreibung der Grenzen und Bereiche zwischen MySQL

Beschreibung der Grenzen und Bereiche zwischen MySQL

MySQL zwischen Grenzbereich

Der Bereich zwischen umfasst die Grenzwerte auf beiden Seiten

Beispiel: Eine ID zwischen 3 und 7 entspricht einer ID >=3 und einer ID <=7

Der Bereich von nicht zwischen umfasst nicht den Grenzwert

Beispiel: ID nicht zwischen 3 und 7 ist gleichbedeutend mit ID < 3 oder ID>7

SELECT * FROM `test`, wobei die ID ZWISCHEN 3 und 7 liegt;
Entspricht SELECT * FROM `test`, wobei id>=3 und id<=7;
-----------------------------------------------------------
SELECT * FROM `test`, wobei die ID NICHT ZWISCHEN 3 und 7 liegt;
Entspricht SELECT * FROM `test`, wobei id<3 oder id>7;

Beachten Sie das Problem von MySQL zwischen Datumsgrenzen

Grenzprobleme:

mysql, zwischen Startdatum und Enddatum schließt das Startdatum ein und das Enddatum aus

Zum Beispiel:

ZWISCHEN '2018-01-22' UND '2018-01-30'

Das Startdatum ist 2018-01-22 00:00:00.0 und endet am 2018-01-29 23:59:59.59

CREATE_DATE in der Tabelle ist varchar(21) DEFAULT NULL COMMENT 'time',

Der in CREATE_DATE gespeicherte Wert ist: Jahr-Monat-Tag Stunde:Minute:Sekunde:0 Beispiel: 2018-01-29 23:45:35.0

Wählen Sie * aus Test a WHERE a.CREATE_DATE BETWEEN '2018-01-22' AND '2018-01-30'   
ORDER BY a.CREATE_DATE Beschreibung 

Wählen Sie * aus der Tabelle a, wo a.CREATE_DATE zwischen '2018-01-22' und '2018-01-30'   
ORDER BY a.CREATE_DATE Beschreibung
    29.01.2018 23:45:35.0 20180129
    29.01.2018 23:45:33.0 20180129
    29.01.2018 00:10:58.0 20180129
    29.01.2018 00:10:45.0 20180129
    28.01.2018 23:42:23.0 20180128
    28.01.2018 23:39:39.0 20180128
Wählen Sie * aus der Tabelle a, wo a.CREATE_DATE zwischen '2018-01-22' und '2018-01-29'   
ORDER BY a.CREATE_DATE Beschreibung
    28.01.2018 23:42:23.0 20180128
    28.01.2018 23:39:39.0 20180128
    28.01.2018 00:13:22.0 20180128
    28.01.2018 00:13:19.0 20180128
    2018-01-27 23:23:02.0 20180127
    22.01.2018 00:09:59.0 20180122
    22.01.2018 00:09:56.0 20180122
    22.01.2018 00:01:53.0 20180122

Weitere aufgetretene Probleme:

Eine weitere Tabelle test2 hat ein Feld zum Speichern von Zeit: `REPORTTIME` varchar(45) DEFAULT NULL,

Der in diesem Feld gespeicherte Wert ist:

Beispiel 1:

Wählen Sie * aus bips_hpd_helpdesk a, WO str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d') 
ZWISCHEN '2018-01-16' UND '2018-01-27' ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC ;

Ergebnis 1:

Aus den Ergebnissen können wir ersehen, dass die Daten vom 27. abgerufen wurden. Es kann sein, dass die Verarbeitungszeit keine Stunden, Minuten und Sekunden umfasst.

Beispiel 2:

Wählen Sie * aus bips_hpd_helpdesk a, WO str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d') 
ZWISCHEN str_to_date('2018-01-16','%Y-%m-%d') UND str_to_date('2018-01-27','%Y-%m-%d')

Ergebnis 2:

Habe das Problem gefunden: Beim Umrechnen von Millisekundenwerten in Zeit habe ich festgestellt, dass die hier gespeicherten Millisekundenwerte nicht die Stunden, Minuten und Sekunden speichern:

from_unixtime(a.REPORTTIME,'%Y-%m-%d') AS Berichtszeit,a.REPORTTIME,  
             str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') AS reportTime22
        VON Test a WO str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') 
        ZWISCHEN str_to_date('2018-01-16','%Y-%m-%d %h:%i:%s') UND str_to_date('2018-01-27 %h:%i:%s','%Y-%m-%d')
     #subdate(curdate(),date_format(curdate(),'%w')-1) UND subdate(curdate(),date_format(curdate(),'%w')-8)
        ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC;

Gesehener Zeitwert:

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Verwendung der BETWEEN-Klausel in MySQL
  • Tutorial zur Verwendung von BETWEEN und IN in der WHERE-Klausel von MySQL
  • Detaillierte Erläuterung der Methode zum Vergleichen von Daten in MySQL

<<:  CSS implementiert die Webkomponentenfunktion zum Verschieben des Nachrichtenfelds

>>:  Wissen Sie, wie Sie mit Vue Screenshots von Webseiten erstellen?

Artikel empfehlen

JavaScript-Implementierung der Dropdown-Liste

In diesem Artikelbeispiel wird der spezifische Ja...

onfocus="this.blur()" wird von blinden Webmastern gehasst

Als er über die Seite zur Bedienung der Bildschir...

Einfache Schritte zum Schreiben benutzerdefinierter Anweisungen in Vue3.0

Vorwort Vue bietet eine Fülle integrierter Anweis...

So installieren Sie einen SVN-Server unter Linux

1. Yum-Installation yum installiere Subversion 2....

react-beautiful-dnd implementiert die Drag-and-Drop-Funktion für Komponenten

Inhaltsverzeichnis 1. Installation 2.API 3. reagi...

Detaillierte Analyse des Blockierungsproblems von js und css

Inhaltsverzeichnis DOMContentLoaded und laden Was...

Eine einfache Implementierungsmethode für eine digitale LED-Uhr in CSS3

Das dürfte etwas sein, was viele Leute gemacht ha...

Verwandte Befehle zur vollständigen Deinstallation von Nginx unter Ubuntu 16.04

nginx Übersicht nginx ist ein kostenloser, quello...

MYSQL Left Join-Optimierung (10 Sekunden bis 20 Millisekunden)

Inhaltsverzeichnis 【Funktionshintergrund】 [Rohes ...