Bonjour, j'ai une requête dans laquelle je souhaite sélectionner la valeur de l'un des deux champs selon que l'un est vide.
field1 and field2
Je veux les sélectionner comme complete_field
IF field1 is empty, then complete_field is field2
ELSE complete_field is field1
En php cela se ferait comme:
$complete_field = $field1 == '' ? $field2 : $field1;
Comment pourrais-je faire cela dans PostgreSQL?
J'ai essayé:
SELECT
(IF field1 = '' THEN field2 ELSE field1) AS complete_field
FROM
table
Mais ça ne marche pas.
S'il vous plaît, aidez-moi :) Merci
Utilisation CASE WHEN .. THEN .. ELSE .. END
, par exemple.:
SELECT
(CASE WHEN (field1 IS NULL OR field1 = '') THEN field2 ELSE field1 END)
FROM table;
Découvrez-le sur les documents officiels .
La fonction ANSI SQL Coalesce () est ce que vous voulez.
select Coalesce(field1,field2)
from table;