在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中文網其他相關文章!