テストテーブルを作成する-- ---------------------------- -- check_test のテーブル構造 -- ---------------------------- `check_test` が存在する場合はテーブルを削除します。 テーブル `check_test` を作成します ( `id` int(11) NOT NULL AUTO_INCREMENT, `current_price` varchar(10) NOT NULL, `price` varchar(10) NOT NULL, 主キー (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 デフォルト CHARSET=utf8; -- ---------------------------- -- check_test の記録 -- ---------------------------- `check_test` に値 ('1'、'12'、'14') を挿入します。 `check_test` に値 ('2'、'22'、'33') を挿入します。 `check_test` に値 ('3'、'15'、'8') を挿入します。 `check_test` に値 ('4', '9', '7') を挿入します。 `check_test` に値 ('5'、'12'、'12.9') を挿入します。 次の SQL を実行します。 -- current_price が price より小さいレコードを検索します。select * from check_test where current_price<price; check_test から (current_price+0)<(price+0) となる * を選択します。 -- current_price が price より大きいレコードを検索します。select * from check_test where current_price>price; check_test から (current_price+0)>(price+0) となる * を選択します。 結果は次のとおりです。 結果 1では、 15>8 は条件を満たしていませんが見つかります。一方、結果 3 では、 15>8 は条件を満たしていますが見つからないことがわかります。 これはなぜでしょうか?文字列型の数値の比較は、最初の桁から始まり、文字コード内の対応する値を比較します。等しい場合は、2 番目の桁の比較を続けます。等しくない場合は、大きい方の値が比較されます。数字に対応するASCIIコード値は次のとおりです。 例えば:
これは、JavaScript を使用してコードで確認できます。 var 現在の価格 = "12"; var 価格 = "14"; console.log(current_price < price); // true var 現在の価格 = "15"; var 価格 = "8"; console.log(current_price < price); // true そのため、比較する必要がある可能性のある数値は、varchar 型に設定しないでください。ただし、varchar 型に設定されている場合、比較する場合は、比較用に数値型に変換し、SQL でフィールドに 0 を追加します。 プログラミング言語の場合は、対応する関数を介して変換する必要があり、JavaScript のように 0 を追加して直接変換することはできません。 var 現在の価格 = "12"; var 価格 = "14"; console.log(parseInt(current_price) < parseInt(price)); // true var 現在の価格 = "15"; var 価格 = "8"; console.log(parseInt(current_price) < parseInt(price)); // false 注: 文字に対応する 10 進数値はエンコードに関連していますが、ASCII コードとは互換性があります。 参考リンク:文字列型の数値の比較 VARCHAR型文字列の比較 varchar型の数値のサイズの比較 これで、MySQL データベースの varchar 数値のサイズを比較する方法についての記事は終了です。MySQL varchar 数値のサイズの比較の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 画像をハイパーリンクとして使用したときに表示される青いボックスを削除する方法
データのバックアップ操作は非常に簡単です。次のコマンドを実行します。 docker run --vo...
Ubuntu では中国語入力方法の解決策はありません。仮想マシンや Ubuntu システムをインスト...
目次1. はじめに2. インストール01. 新しい仮想マシンを作成する02. システムをインストール...
開発環境ウィンドウ開発ツール Visual Studio Codeノードのインストールとnpm Wi...
序文この記事では、CSS3アニメーションを使用して、円が小さいものから大きく拡大し、外側に広がる効果...
この記事では、MySQL 8.0.17のインストールと設定方法を参考までに紹介します。具体的な内容は...
1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...
目次1. SparkとHadoopの比較1.1 Haoopの欠点1.2 Hadoop MR に対する...
目次導入アイデアID配列インデックスのマッピング関係を確立するツリー構造の構築原理要約する導入組織階...
Vue画像拡大鏡コンポーネントパッケージに基づいて、参考までに具体的な内容は次のとおりです。画像拡大...
目次1. プロジェクトフォルダ構造1. アセットフォルダ2. 図書館3. ローカル設定(ローカル) ...
目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...
トレーニングのための一連のプロジェクト反応+ts内容は少ないですが、フックのカプセル化、ts ジェネ...
目次シャロークローニングとディープクローニングとは何ですか? 1. アレイのクローンを作成する1.1...
目次JS はファイルを読み取る FileReader書類イベントとメソッド基本的な使い方イベント処理...