Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да прехвърля int към bit в MySQL 5.1?

Не можете!

CAST и CONVERT работят само за:

  • БИНАРЕН [(N)]
  • CHAR[(N)]
  • ДАТА
  • DATETIME
  • DECIMAL[(M[,D])]
  • ПОДПИСАНО [ЦЯЛО ЧИСЛО]
  • ВРЕМЕ
  • НЕПОДПИСАНО [ЦЯЛО ЧИСЛО]

Няма място за:BIT, BITINT, TINYINT, MEDIUMINT, BIGINT, SMALLINT, ...

Можете обаче да създадете своя собствена функция cast_to_bit(n):

DELIMITER $$

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

За да го изпробвате сами, можете да създадете изглед с няколко преобразувания като:

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)

... и след това го опишете!

DESCRIBE view_bit;

Та-да!! Всички са малко(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. MaxListenersExceededWarning:Открит е възможен теч на памет на EventEmitter. Добавени са 11 списъка на съобщенията. Използвайте emitter.setMaxListeners(), за да увеличите лимита

  2. Как мога да организирам изобилието от mysql таблици?

  3. Подготвено изявление, `WHERE .. IN(..)` заявка и сортиране — с MySQL

  4. Обратно инженерство на mysql база данни за създаване на приложение django

  5. Мигрирайте от Oracle към MySQL