序文 MySQL が SQL SELECT コマンドと WHERE 句を使用してテーブルからデータを読み取ることはすでにわかっていますが、指定されたクエリ条件フィールドが NULL の場合、コマンドが正しく機能しない可能性があります。 この状況に対処するために、MySQL は次の 3 つの主要な演算子を提供します。
NULL に対する条件付き比較演算は特別です。列内の NULL 値を検索する場合、 = NULL または != NULL は使用できません。 MySQL では、NULL 値と他の値 (NULL 値も含む) を比較すると常に false が返されます。つまり、NULL = NULL は false を返します。 MySQL は、IS NULL および IS NOT NULL 演算子を使用して NULL を処理します。 現在、プロジェクトを Oracle から MySQL に移行しています。MySQL にはない Oracle 関数がいくつかあったため、関数をカスタマイズするか、変換のために関数を置き換える方法を見つける必要がありました。 Oracle はデータをソートするときに、null 値を最初または最後に配置するため、nulls first または nulls last を使用する場合があります。 Oracle メソッド: NULL値が最初にソートされます select * from A 順序で desc null first NULL値は最後にソートされます select * from A order by a desc null last しかし、MySQLに移行する場合、MySQLでは同様の機能が提供されていないので、どのように実装すればよいのでしょうか。 解決策は次のとおりです。 MySQL の IF 関数と ISNULL 関数を使用して、Null 値は最後にソートされます。空の場合は1を返し、そうでない場合は0を返します。 A から * を選択し、IF(ISNULL(a),1,0),a で並べ替えます。 MySQL の IF 関数と ISNULL 関数を使用して、最初に null 値がソートされます。空の場合は1を返し、そうでない場合は0を返します。 A から * を選択、順序は IF(ISNULL(a),0,1),a desc で決定 mybatis で Oracle および MySQL のバージョンが必要な場合は、バックグラウンドからデータ テーブル バージョン識別子 dbType を渡すか、mybatis の _databaseId メソッドを直接使用することができます。 <if test="dbType=='oracle'"> c.create_date desc nulls last で並べ替え </if> <if test="dbType=='mysql'"> IF(ISNULL(c.create_date),1,0)、c.create_date desc で並べ替え </if> 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: VMware 15.5 バージョンのインストール Windows_Server_2008_R2 システム チュートリアル図
>>: vue3 の setUp とリアクティブ関数の使用方法の詳細な説明
0. 新しい操作: mkdir abc #新しいフォルダを作成 touch abc.sh #新しいフ...
質問1:エラーを報告する書き込み方法: GRANT OPTION を使用して、'123123...
Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...
背景Navicat は、最高の MySQL 視覚化ツールです。ただし、ビューのインポートとエクスポー...
導入:スライダー ドラッグ検証は現在、多くの場所で使用されています。週末に 1 つ作成しようと思い、...
データベースを作成する右クリック - 新しいデータベースを作成ライブラリ名を入力し、文字セットと並べ...
この記事では、ドラッグアンドドロップをJSオブジェクト指向で実装するための具体的なコードを参考までに...
概要実際のビジネス シナリオ アプリケーションでは、ビジネス条件に基づいて対象データを取得およびフィ...
この記事では、centos7 環境でバイナリ インストール パッケージを使用して mysql5.6 ...
目次1. 使い方が簡単2. DISTINCTを使用して重複を削除する3. COUNT()の詳細な紹介...
注: このデモはミニプログラム環境でテストされており、他の h5 および pc Web ページにも適...
目次プロセスコミュニケーションプロセス間の双方向通信問題要約するサードパーティのデータ サプライヤー...
1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...
DTD はマークアップの文法規則のセットです。これは XML 1.0 仕様の一部であり、HTML フ...
この記事の例では、ストップウォッチタイマーを実装するためのJSの具体的なコードを参考までに共有してい...