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

Alibaba Cloud Server Ubuntu Konfigurations-Tutorial

Da für den Import benutzerdefinierter Ubuntu-Imag...

Lösen Sie das Problem, dass await in forEach nicht funktioniert

1. Einleitung Vor ein paar Tagen bin ich bei der ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.14

Dieser Artikel dokumentiert den Installations- un...

Dynamischer Sternenhimmel Hintergrund umgesetzt mit CSS3

Ergebnis:Implementierungscode html <link href=...

So erstellen Sie schnell eine LAMP-Umgebung auf der CentOS-Plattform

Dieser Artikel beschreibt anhand eines Beispiels,...

Was tun, wenn Sie Ihr Linux/Mac MySQL-Passwort vergessen?

Was tun, wenn Sie Ihr Linux/Mac MySQL-Passwort ve...

Docker-Volumes-Dateizuordnungsmethode

Hintergrund Wenn Sie am Blockchain-Protokollmodul...

So fahren Sie nginx herunter/starten es neu

Schließung Dienst Nginx stoppen systemctl stoppt ...