Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę rzutować int na bit w MySQL 5.1?

Nie możesz!

PRZESYŁANIE i KONWERTOWANIE działają tylko w celu:

  • BINARNY[(N)]
  • ZNAK[(N)]
  • DATA
  • DATETIME
  • DZIESIĘTNY[(M[,D])]
  • PODPISYWANA [LICZBA CAŁKOWITA]
  • CZAS
  • BEZ PODPISU [LICZBA CAŁKOWITA]

Brak miejsca na:BIT, BITINT, TINYINT, MEDIUMINT, BIGINT, SMALLINT, ...

Możesz jednak utworzyć własną funkcję cast_to_bit(n):

DELIMITER $$

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

Aby spróbować samodzielnie, możesz utworzyć widok z kilkoma konwersjami, takimi jak:

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)

... a potem opisz to!

DESCRIBE view_bit;

Ta dah!! Wszyscy są teraz trochę (1)!!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernacja strategii nazewnictwa zmieniającej nazwy tabel

  2. PHP Wstawiaj dane z jednej tabeli do drugiej

  3. Debugowanie PDO — wyświetlić zapytanie PO powiązaniu?

  4. Dołącz a podzapytanie

  5. Zaktualizuj wiersz, ale wstaw, jeśli wiersz nie istnieje w codeigniter