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

Das Raster ist Ihr Layoutplan für die Seite

<br /> Englisches Original: http://desktoppu...

Lösungen für MySQL OOM (Speicherüberlauf)

OOM steht für „Out Of Memory“, was so viel bedeut...

Tiefgreifendes Verständnis der Verwendung von Vue

Inhaltsverzeichnis Verstehen Sie das Kernkonzept ...

So wird eine Select-Anweisung in MySQL ausgeführt

Inhaltsverzeichnis 1. MySQL aus einer Makroperspe...

Eine kurze Einführung in die Verwendung des Dezimaltyps in MySQL

Die in MySQL unterstützten Gleitkommatypen sind F...

MySQL-Implementierung des Funktionsbeispiels „lastInfdexOf“

Manchmal muss MySQL eine Funktion ähnlich zu last...

jQuery-Plugin zum Erreichen eines Bildvergleichs

In diesem Artikelbeispiel wird der spezifische Co...

Fallstudie zu JavaScript-Ereignisschleifen

Ereignisschleife in js Da JavaScript ein Single-T...

CSS löst das Problem der Front-End-Bildverformung perfekt

Ich habe in der Toutiao IT School einen Artikel g...

So installieren Sie Docker auf CentOS

Hier stellen wir nur die relativ einfache Install...