首頁  >  文章  >  資料庫  >  如何在 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 函數將0 和1 新增至BIT 列失敗。 MySQL 不支援將 INT 轉換為 BIT。

解決問題

由於直接轉換不可行,另一個解決方案是建立一個自訂函數將INT 轉換為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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn