sql >> Database >  >> RDS >> Mysql

CASE in MySQL dwingt het kolomgegevenstype naar BIGINT in plaats van INT

De volgende truc kan helpen:

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. De webtoepassing [] lijkt een thread te hebben gestart met de naam [Abandoned connection cleanup thread] com.mysql.jdbc.AbandonedConnectionCleanupThread

  2. Hoe hernoem ik snel een MySQL-database (schemanaam wijzigen)?

  3. MySQL-syntaxisfout

  4. Kan deze SQL-query worden vereenvoudigd?