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

CASE в MySQL принуждава типа данни на колоната да бъде BIGINT вместо INT

Следният трик може да помогне:

DELIMITER //

CREATE FUNCTION `return_integer`(`number` INT UNSIGNED)
RETURNS INT UNSIGNED DETERMINISTIC
BEGIN
    RETURN `number`;
END//

DELIMITER ;

SELECT
    CASE `L`.`Code`
       WHEN 'ABCD' THEN `return_integer`(0)
       ELSE `L`.`ID`
    END AS XLID
FROM `table_name` `L`;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерено несъответствие на типа Scala Spark Единица, задължителна rdd.RDD

  2. Liquibase - контролната сума се различава при различните доставчици на бази данни

  3. mysqli_stmt::bind_result():Броят на променливите за свързване не съвпада с броя на полетата в подготвеното изявление

  4. mysql условно вмъкване - ако не съществува, вмъкнете

  5. Mysql изберете полето къде в csv низ