序文 BINARY と VARBINARY は、文字列ではなくバイナリ文字列を格納する点を除いて、CHAR 型と VARCHAR 型に似ています。つまり、BINARY と VARBINARY には文字セットの概念がなく、並べ替えや比較はすべてバイナリ値に基づいて行われます。 次の例を見てみましょう。 mysql> テーブル t を作成します ( -> バイナリ(1) ->)ENGINE=InnoDB CHARSET=GBK; クエリは正常、影響を受けた行は 0 行 (0.02 秒) mysql> 名前を設定する GBK; クエリは正常、影響を受けた行は 0 行 (0.00 秒) MySQL> INSERT INTO t SELECT 'i'; クエリは正常、1 行が影響を受け、1 つの警告 (0.01 秒) 記録: 1 重複: 0 警告: 1 mysql> 警告を表示\G; ************************** 1. 行 **************************** レベル: 警告 コード: 1265 メッセージ: 行 1 の列 'a' のデータが切り捨てられました セット内の 1 行 (0.00 秒) mysql> SELECT a,HEX(a) FROM t\G; ************************** 1. 行 **************************** あ: 16進数(a): CE テーブル t には mysql> テーブル t を作成します ( -> CHAR(1) ->)ENGINE=InnoDB CHARSET=GBK; クエリは正常、影響を受けた行は 0 行 (0.02 秒) mysql> INSERT INTO t SELECT 'I'; クエリは正常、1 行が影響を受け、1 つの警告 (0.01 秒) 記録: 1 重複: 0 警告: 0 mysql> SELECT a,HEX(a) FROM t\G; ************************** 1. 行 **************************** a: I 16進数 (a): CED2 セット内の 1 行 (0.00 秒) BINARY と VARBINARY を CHAR と VARCHAR と比較した場合の最初の違いは、 mysql> 選択 -> HEX('a')、 -> HEX('a ')、 -> 'a' = 'a '\G; ************************** 1. 行 **************************** 16進数('a'): 61 16進数('a'): 612020 'a'='a': 1 セット内の 1 行 (0.00 秒) mysql> 選択 -> 16進数(バイナリ('a'))、 -> 16進数(バイナリ('a '))、 -> BINARY('a') = BINARY('a ')\G; ************************** 1. 行 **************************** 16進数(2進数('a')): 61 16進数(2進数('a ')): 612020 バイナリ('a') = バイナリ('a '): 0 セット内の 1 行 (0.00 秒) CHAR と VARCHAR の場合は文字値を比較するため、最初の比較の戻り値は 1 になります。 BINARY と VARBINARY の場合、比較はバイナリ値に対して行われます。「a」の 16 進値は 61 で、「a 」の 16 進値は 612020 であり、明らかに異なります。したがって、2 番目の比較の戻り値は 0 になります。 3 番目の違いは、BINARY 文字列の場合、埋め込み文字は 0x00 であるのに対し、CHAR の場合、埋め込み文字は 0x20 であることです。これは、バイナリ比較の要件によるものと考えられます。0x00 は明らかに比較の最小文字です。例は次のとおりです。 mysql> テーブル t ( a BINARY(3) ) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> INSERT INTO t SELECT 'a'; クエリは正常、1 行が影響を受けました (0.00 秒) 記録: 1 重複: 0 警告: 0 mysql> SELECT a,HEX(a) FROM t\G; ************************** 1. 行 **************************** : : 16進数(a): 610000 セット内の 1 行 (0.00 秒) 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: React.cloneElement の使い方の詳しい説明
>>: ログインフォームを実装するためのReactサンプルコード
目次ケース1:ケース2:ケース3:簡単にまとめると:過去 2 日間で、完全なテーブル スキャンを引き...
Web ページのスタイル設定に関しては、プロジェクトで純粋な CSS または SCSS (および他...
体の部位: <button>ライトのオン/オフを切り替える</button>...
次のような製品部品表があります。一部 部品ID 部品タイプ 製品ID ---------------...
この記事では、参考までに、JSでスネークゲームを書くための具体的なコードを紹介します。具体的な内容は...
1. データベースデータをシミュレートする1-1 データベースとテーブルスクリプトを作成する - v...
この記事では、VueでEchartsをインポートして線散布図を実現する具体的なコードを参考までに共有...
目次序文非同期イテレータとは何ですか?非同期イテレータストリームとしてページング機能を備えたAPIの...
導入:従来の画像検証コードと比較して、スライダー検証コードには次の利点があります。サーバーは検証コー...
1 ダウンロードして準備するまず、公式ウェブサイトからTomcatをダウンロードする必要があります。...
データを挿入するとき、以前オフィス システムに取り組んでいたときにはデータベースのパフォーマンスにつ...
以下の分析は製品設計原則に関するものですが、そのほとんどはウェブサイト製品に基づいているため、ユーザ...
水平方向では、テーブル ヘッダーの配置を左、中央、右に設定できます。基本的な構文<TH ALI...
目次導入準備するシステムイメージをダウンロードHyper-Vを有効にする新しい仮想ネットワークスイッ...
1. 問題の説明<br />JS を使用してフォームの送信メソッドを呼び出してフォームを...