sql >> Databáze >  >> RDS >> Mysql

Jak mohu přenést int do bitu v MySQL 5.1?

Nemůžete!

CAST a CONVERT fungují pouze na:

  • BINÁRNÍ[(N)]
  • CHAR[(N)]
  • DATUM
  • DATETIME
  • DECIMAL[(M[,D])]
  • POPIS [INTEGER]
  • ČAS
  • NESIGNOVANÉ [INTERNÉ ČÍSLO]

Není místo pro:BIT, BITINT, TINYINT, MEDIUMINT, BIGINT, SMALLINT, ...

Můžete si však vytvořit vlastní funkci cast_to_bit(n):

DELIMITER $$

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

Chcete-li si to sami vyzkoušet, můžete vytvořit zobrazení s několika konverzemi, například:

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 pak to popiš!

DESCRIBE view_bit;

Ta-dah!! Všichni jsou teď bit(1)!!!



  1. Několik způsobů, jak vložit rozdělené řetězce s oddělovači do sloupce

  2. Prizmatické vztahy

  3. Nastavení výchozího veřejného profilu pro databázovou poštu (SSMS)

  4. problémy s instalací perl DBI-mysql v systému Windows