ホームページ  >  記事  >  データベース  >  MySQL 5.1 で INT を BIT に変換するにはどうすればよいですか?

MySQL 5.1 で INT を BIT に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-01 16:01:02993ブラウズ

How to Convert INT to BIT in MySQL 5.1?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。