Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào tôi có thể truyền một int thành bit trong MySQL 5.1?

Bạn không thể!

CAST và CONVERT chỉ hoạt động với:

  • BINARY [(N)]
  • CHAR [(N)]
  • DATE
  • DATETIME
  • DECIMAL [(M [, D])]
  • ĐÃ ĐĂNG KÝ [INTEGER]
  • THỜI GIAN
  • CHƯA ĐĂNG KÝ [INTEGER]

Không có chỗ cho:BIT, BITINT, TINYINT, MEDIUMINT, BIGINT, SMALLINT, ...

Tuy nhiên, bạn có thể tạo hàm cast_to_bit (n) của riêng mình:

DELIMITER $$

CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1)
BEGIN
    RETURN N;
END

Để tự mình thử, bạn có thể tạo chế độ xem với một số chuyển đổi như:

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)

... và sau đó mô tả nó!

DESCRIBE view_bit;

Ta-dah !! Mọi người đều là bit (1) bây giờ !!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để hiển thị nhiều hình ảnh (blob) từ mysql bằng php?

  2. Sự khác biệt giữa xóa khỏi table_a và cắt bớt table_a trong MySQL là gì?

  3. Cài đặt bộ nhớ cache truy vấn MySql

  4. Bảng điều khiển dành cho quản trị viên Glassfish ném java.lang.IllegalStateException khi tạo JDBC Pool

  5. Percona Live Dublin - Tóm tắt sự kiện và các phiên của chúng tôi