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:
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:
|
<<: 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
MySQL-Abfrage mit mehreren Bedingungen und dem Sc...
1. Verwenden Sie den Curl-Befehl für den Standard...
1. Datensicherung 1. Verwenden Sie den Befehl mys...
Zusammenfassen Dieser Artikel endet hier. Ich hof...
Dieser Artikel veranschaulicht anhand von Beispie...
Inhaltsverzeichnis Vermeiden Sie die Verwendung d...
Ergebnisse erzielenAnforderungen/Funktionalität: ...
1. Laden Sie cuda10.1 herunter: Link zur offiziel...
Die Composition API implementiert Schritte zur Wi...
Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...
Obwohl Microsoft später viel Forschung und Entwick...
Vor kurzem habe ich an einem Großbildschirmprojek...
Was ist SQL? SQL ist eine Sprache zum Betrieb von...
Zunächst einmal: Was ist 404 und Soft 404? 404: Ei...
In diesem Artikel erfahren Sie, wie Sie mysql5.7....