Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menghantar Integer sebagai Bit dalam MySQL 5.1?

Bagaimana untuk Menghantar Integer sebagai Bit dalam MySQL 5.1?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 19:59:30546semak imbas

How to Cast Integers as Bits in MySQL 5.1?

Menghantar Integer sebagai Bit dalam MySQL 5.1

Dalam MySQL 5.1, halangan biasa apabila beralih daripada SQL Server ialah ketidakupayaan untuk menghantar integer sebagai sedikit menggunakan operator CAST. Had ini timbul kerana pengendali CAST hanya menyokong penghantaran kepada set jenis data tertentu, termasuk BINARI, CHAR dan DATE.

Penyelesaian:

Malangnya, MySQL 5.1 tidak asli membenarkan menghantar integer kepada bit. Untuk mengatasi had ini, anda boleh menentukan fungsi tersuai untuk menukar integer kepada sedikit. Berikut ialah fungsi tersuai yang boleh digunakan:

<code class="sql">DELIMITER $$

CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1)
BEGIN
    RETURN N;
END
$$</code>

Contoh:

Setelah fungsi dicipta, anda boleh menggunakannya untuk menghantar lajur integer ke dalam lajur bit. Untuk menggambarkan ini, mari kita cipta paparan yang menukarkan pelbagai ungkapan 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>

Pengesahan:

Untuk mengesahkan tuangan, gunakan perintah DESCRIBE untuk memeriksa skema view:

<code class="sql">DESCRIBE view_bit;</code>

Output harus menunjukkan bahawa semua lajur mempunyai jenis data bit(1).

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Integer sebagai 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