Menghantar Int ke Bit dalam MySQL 5.1
Semasa beralih daripada SQL Server ke MySQL 5.1, cuba menghantar lajur INT yang mengandungi hanya 0s dan 1s kepada lajur BIT menggunakan fungsi CAST gagal. MySQL tidak menyokong penghantaran INT ke BIT.
Menyelesaikan Isu
Memandangkan penghantaran langsung tidak boleh dilaksanakan, penyelesaian alternatif ialah mencipta fungsi tersuai untuk menukar INT kepada BIT:
<code class="sql">DELIMITER $$ CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1) BEGIN RETURN N; END $$</code>
Contoh Penggunaan
Untuk menunjukkan fungsi, buat paparan yang menukar pelbagai nilai kepada 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>
Memeriksa skema paparan menggunakan DESCRIBE akan menunjukkan bahawa semua lajur kini BIT:
<code class="sql">DESCRIBE view_bit;</code>
Atas ialah kandungan terperinci Bagaimana untuk Menukar INT ke BIT dalam MySQL 5.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!