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

So konfigurieren Sie inländische Quellen in CentOS8 yum/dnf

CentOS 8 hat das Installationsprogramm für Softwa...

Detaillierte Einführung in TABLE-Tags (TAGS)

Grundlegende Syntax der Tabelle <table>...&l...

Soll die Like-Funktion MySQL oder Redis verwenden?

Inhaltsverzeichnis 1. Häufige Fehler von Anfänger...

Einige Erfahrungen in der Selbstkultivierung von Künstlern

Da der Einfluss des Unternehmens wächst und seine...

Vue implementiert die Tabellenpaging-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Spezifische Verwendung von Bootstrap5-Haltepunkten und Containern

Inhaltsverzeichnis 1. Bootstrap5-Haltepunkte 1.1 ...

Grafisches Tutorial zum Herunterladen und Installieren von MySQL 5.7 und höher

1. Herunterladen 1. Download-Adresse der offiziel...

Detaillierte Erklärung der Beziehung zwischen Linux- und GNU-Systemen

Inhaltsverzeichnis Was ist das Linux-System, das ...

Mehrere Möglichkeiten zum Ändern der SELECT-Optionen in einer HTML-Dropdown-Box

Nachdem das Formular übermittelt wurde, wird die z...

Vue ElementUI implementiert einen asynchronen Ladebaum

In diesem Artikelbeispiel wird der spezifische Co...