MySQL 5.1 のビットへの Int のキャスト
SQL Server から MySQL 5.1 への移行中に、のみを含む INT 列をキャストしようとします。 CAST 関数を使用した BIT カラムへの 0 と 1 の入力は失敗します。 MySQL は、INT から BIT へのキャストをサポートしていません。
問題の解決
直接キャストは実現できないため、代わりの解決策は、INT を BIT に変換するカスタム関数を作成することです。 BIT:
<code class="sql">DELIMITER $$ CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1) BEGIN RETURN N; END $$</code>
使用例
関数をデモンストレーションするために、さまざまな値を BIT に変換するビューを作成します。
<code class="sql">CREATE VIEW view_bit AS SELECT cast_to_bit(0), cast_to_bit(1), cast_to_bit(FALSE), cast_to_bit(TRUE), cast_to_bit(b'0'), cast_to_bit(b'1'), cast_to_bit(2=3), cast_to_bit(2=2)</code>
検査DESCRIBE を使用したビューのスキーマは、すべての列が BIT であることを示します:
<code class="sql">DESCRIBE view_bit;</code>
以上がMySQL 5.1 で INT を BIT に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。