1. ホーム
  2. sql

MySQL、空の値に対するcoaleceの等価性?

2023-10-19 06:51:49

質問

coalesceが渡された最初の非NULL値を返すことは知っていますが、同じように最初の空でない/偽でない値を返すものはありますか?

の例です。

select FunctionIWant(0,'','banana') as fruit;  //returns banana.

どのように解決するのですか?

ANSIの CASE文/式 :

SELECT CASE 
         WHEN LENGTH(col) = 0 OR col IS NULL THEN 'banana'
         ELSE col
       END AS fruit

SQLやMySQLにはbooleanはありません。 MySQL は実際には値を INT として保存し、値は 0 または 1 です。

SELECT CASE 
         WHEN col = 0 THEN 'banana'
         ELSE col
       END AS fruit