sql >> データベース >  >> RDS >> Mysql

MySQL 5.1でintをビットにキャストするにはどうすればよいですか?

    できません!

    CASTとCONVERTは次の場合にのみ機能します:

    • BINARY [(N)]
    • CHAR [(N)]
    • 日付
    • 日時
    • 10進数[(M [、D])]
    • 署名済み[整数]
    • 時間
    • UNSIGNED [INTEGER]

    スペースがありません:BIT、BITINT、TINYINT、MEDIUMINT、BIGINT、SMALLINT、...

    ただし、独自の関数cast_to_bit(n)を作成することはできます:

    DELIMITER $$
    
    CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1)
    BEGIN
        RETURN N;
    END
    

    自分で試してみるには、次のようないくつかの変換を使用してビューを作成できます。

    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)
    

    ...そしてそれを説明してください!

    DESCRIBE view_bit;
    

    タダ!!みんな今ビット(1)です!!!



    1. 2行の2つの値を切り替えるSQLUPDATEステートメント

    2. PostgresのWHEREで正規表現を使用する

    3. SQL Serverのテーブルのすべてのチェックキーと外部キーの制約を無効にする方法(T-SQLの例)

    4. Debian8にphpMyAdminをインストールして設定する方法