Beispiel für die Methode „Mysql implementiert Nullwerte zuerst/letzten“

Beispiel für die Methode „Mysql implementiert Nullwerte zuerst/letzten“

Vorwort

Wir wissen bereits, dass MySQL den SQL-Befehl „SELECT“ und die WHERE-Klausel verwendet, um Daten aus einer Tabelle zu lesen. Wenn das angegebene Abfragebedingungsfeld jedoch NULL ist, funktioniert der Befehl möglicherweise nicht ordnungsgemäß.

Um mit dieser Situation umzugehen, bietet MySQL drei Hauptoperatoren:

  • IS NULL: Dieser Operator gibt „true“ zurück, wenn der Spaltenwert NULL ist.
  • IS NOT NULL: Der Operator gibt „true“ zurück, wenn der Spaltenwert nicht NULL ist.
  • <=>: Ein Vergleichsoperator (unterscheidet sich vom =-Operator), der true zurückgibt, wenn beide verglichenen Werte NULL sind.

Bedingte Vergleichsoperationen auf NULL sind etwas Besonderes. Sie können = NULL oder != NULL nicht verwenden, um nach NULL-Werten in einer Spalte zu suchen.

In MySQL gibt ein Vergleich eines NULL-Werts mit einem beliebigen anderen Wert (auch NULL) immer „false“ zurück, d. h., NULL = NULL gibt „false“ zurück.

MySQL verarbeitet NULL mit den Operatoren IS NULL und IS NOT NULL.

Ich migriere derzeit ein Projekt von Oracle nach MySQL. Dabei stieß ich auf einige Oracle-Funktionen, die MySQL nicht bietet. Daher musste ich die Funktionen anpassen oder einen Weg finden, die Funktionen für die Transformation zu ersetzen.

Wenn Oracle Daten sortiert, kann es manchmal „Nullen zuerst“ oder „Nullen zuletzt“ verwenden, um Nullwerte an den ersten oder letzten Platz zu setzen.

Oracle-Methode:

Nullwerte werden zuerst sortiert

select * from A order by a desc null first

Nullwerte werden zuletzt sortiert

select * from A order by a desc null last

Wenn Sie jedoch zu MySQL migrieren, bietet MySQL keine ähnliche Funktion. Wie können Sie sie also implementieren?

Hier ist die Lösung:

Nullwerte werden zuletzt sortiert, wobei die IF- und ISNULL-Funktionen von MySQL verwendet werden. Wenn es leer ist, gibt es 1 zurück, andernfalls 0

wähle * aus A, sortiert nach WENN(ISNULL(a),1,0),a desc

Nullwerte werden zuerst sortiert, wobei die IF- und ISNULL-Funktionen von MySQL verwendet werden. Wenn es leer ist, gibt es 1 zurück, andernfalls 0

wähle * aus A, sortiert nach WENN(ISNULL(a),0,1),a desc

Wenn in mybatis Oracle- und MySQL-Versionen benötigt werden, können Sie entweder einen Datentabellenversionsbezeichner dbType aus dem Hintergrund übergeben oder direkt die _databaseId-Methode von mybatis verwenden.

 <wenn test="dbType=='oracle'">
   Sortieren nach c.create_date desc nulls letzte
   </if>
   <if test="dbType=='mysql'">
   Sortieren nach IF(ISNULL(c.create_date),1,0), c.create_date desc
   </if>

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Tutorial zum Verstehen und Verwenden von NULL-Werten in MySQL
  • Detaillierte Erklärung der NULL-Werte in MySQL
  • Unterscheiden Sie zwischen Nullwert und leerem Zeichen ('''') in MySQL
  • Instanzmethode für MySQL-String-Verkettung und Festlegen von Nullwerten
  • Detaillierte Erläuterung zum Beispiel der MySQL-NULL-Wertverarbeitung
  • Kennen Sie den Unterschied zwischen leerem Wert und Nullwert in MySQL
  • In diesem Artikel erfahren Sie mehr über NULL in MySQL

<<:  Diagramm des Tutorials zur Installation der Version VMware 15.5 unter Windows_Server_2008_R2

>>:  Detaillierte Erklärung der Verwendung von SetUp- und Reactive-Funktionen in Vue3

Artikel empfehlen

Mysql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „And“

MySQL-Abfrage mit mehreren Bedingungen und dem Sc...

So verbergen und fälschen Sie die Versionsnummer in Nginx

1. Verwenden Sie den Curl-Befehl für den Standard...

Beispielcode für MySQL-Datensicherung und -wiederherstellung

1. Datensicherung 1. Verwenden Sie den Befehl mys...

Detaillierte Erklärung des Vue-Plugins

Zusammenfassen Dieser Artikel endet hier. Ich hof...

Analyse des Prinzips und der Verwendung der kontinuierlichen MySQL-Aggregation

Dieser Artikel veranschaulicht anhand von Beispie...

Tipps zum Schreiben prägnanter React-Komponenten

Inhaltsverzeichnis Vermeiden Sie die Verwendung d...

Zeichnen Sie ein Herz mit CSS3

Ergebnisse erzielenAnforderungen/Funktionalität: ...

Detaillierte Erläuterung der gleichzeitigen Parameteranpassung von MySQL

Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...

Eine kurze Diskussion über die Sortierabfrage mit angegebener MySQL-Reihenfolge

Vor kurzem habe ich an einem Großbildschirmprojek...

Was sind die Unterschiede zwischen SQL und MySQL

Was ist SQL? SQL ist eine Sprache zum Betrieb von...

Was ist Software 404 und 404-Fehler und was ist der Unterschied zwischen ihnen

Zunächst einmal: Was ist 404 und Soft 404? 404: Ei...