質問

この

のように条件付きを選択したい選択ステートメントを持っています
IFNULL(field_a,field_a,feild_b)
.

A aがNULLの場合、フィールドaがチェックされると、選択はフィールドB

になります。

は可能な限り?

役に立ちましたか?

解決

coalesce

SELECT COALESCE(field_a, field_b)
.

coalesceは、指定された列のリストから最初の非NULL値を返すANSI標準関数です。列を左から右に処理します。その例では、field_aがNULLの場合、field_b値が表示されます。ただし、指定された列からNULL以外の値がない場合、この関数はnullを返します。

MySQLではサポートされています(4.1で使用しました)、SQL Server(V2000以降)、Oracle 9i + ...

他のヒント

その猫を肌に皮膚にするもう1つの方法(ヌル比較だけでなく柔軟)...

select if(field_a is not null, field_a, field_b) from...
.

はい、しかしそれは2つのパラメータです:

IFNULL(field_a,field_b)
.

field_aがnullでない場合は返されます。それ以外の場合、field_bが返されます。

リファレンス: ifnull

real="nofollow noreferrer">

MySQL IFNULL()構文と例

構文

IFNULL関数の構文は次のとおりです。

IFNULL(expression_1,expression_2);
.

   SELECT 
     name, IFNULL(businessphone, homephone) phone
 FROM
     users;



       #The above query return this result from users table

   +------------+-----------+----------+-----------
   | id        | name           | phone          |
   +------------+-----------+----------+-----------
   | 5         | Tommy Hill     | (541) 754-3009 |
   | 6         | John Smith     | (541) 754-3110 | 
   | 10        | Mark Greenspan | (541) 754-3111 | 
   | 11        | Kelvin Row     | (541) 754-3111 |
   +------------+-----------+----------+-----------
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top