在MySQL 5.1 中將整數轉換為位元
在MySQL 5.1 中,從SQL Server 過渡時的一個常見障礙是無法將整數轉換為位元。使用 CAST 運算子將整數視為位元。出現此限制的原因是 CAST 運算子僅支援轉換為一組特定的資料類型,包括 BINARY、CHAR 和 DATE。
解決方案:
不幸的是,MySQL 5.1本身不允許整數轉換為位元。為了克服這個限制,您可以定義一個自訂函數來將整數轉換為位元。這是一個可以使用的自訂函數:
<code class="sql">DELIMITER $$ CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1) BEGIN RETURN N; END $$</code>
範例:
建立函數後,您可以使用它將整數列轉換為位元列。為了說明這一點,讓我們建立一個將各種表達式轉換為位元的視圖:
<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指令檢查視圖的架構:
<code class="sql">DESCRIBE view_bit;</code>
輸出應指示所有欄位的資料型別均為bit(1)。
以上是如何在 MySQL 5.1 中將整數轉換為位元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!