序文 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. 組み込み関数1. 数学関数ランド()丸め(数値) ceil(数値)階数(数値)ランダム丸め切り...
ウェブサイトのさまざまな HTML ドキュメントはハイパーリンクを通じて相互に接続され、一貫性のある...
序文この章では、基本的な Linux 関数と epoll 呼び出しを使用して、Linux 上で実行で...
Linux は、システム内のデバイス、インターフェース、ファイル、スタートアップ、アプリケーション ...
目次1. システムイメージファイルをダウンロードする2. 新しい仮想マシンを作成する3. Kali ...
目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...
1: インストールコマンドpip install docker-compose例外情報socket....
この記事では、参考までにMySQL 8.0.11のインストール手順を紹介します。具体的な内容は次のと...
または、インストールプロセスを自分で書き留めてください。私のサーバーシステムはAliyun Linu...
目次背景制限の最適化最適化方法1. カバーインデックスを使用する2. サブクエリの最適化3. 遅延連...
目次序文クエリの使用シナリオ例時間間隔クエリクエリ日付と今日の時間の比較データ一般的なサイクルタイム...
質問: インデックスは作成されているのに、Like ファジー クエリがまだ遅いのはなぜですか?インデ...
ユニアプリコード <テンプレート> <表示> <image v-for...
<br />前回のWebデザインチュートリアル:Webデザインチュートリアル(3):デザ...
この記事の例では、Element+vueを使用して開始と終了の時間制限を実装するための具体的なコード...