Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar INT ke BIT dalam MySQL 5.1?

Bagaimana untuk Menukar INT ke BIT dalam MySQL 5.1?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 16:01:021096semak imbas

How to Convert INT to BIT in MySQL 5.1?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn