sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL CASE ... AVSLUTA med flera villkor

Den här typen av kod kanske borde fungera för dig

SELECT
 *,
 CASE
  WHEN (pvc IS NULL OR pvc = '') AND (datepose < 1980) THEN '01'
  WHEN (pvc IS NULL OR pvc = '') AND (datepose >= 1980) THEN '02'
  WHEN (pvc IS NULL OR pvc = '') AND (datepose IS NULL OR datepose = 0) THEN '03'
  ELSE '00'
 END AS modifiedpvc
FROM my_table;


 gid | datepose | pvc | modifiedpvc 
-----+----------+-----+-------------
   1 |     1961 | 01  | 00
   2 |     1949 |     | 01
   3 |     1990 | 02  | 00
   1 |     1981 |     | 02
   1 |          | 03  | 00
   1 |          |     | 03
(6 rows)



  1. SQL Server:Den mörka sidan av NVARCHAR

  2. Aktivera MySQL InnoDB Storage Engine Support i XAMPP-installation

  3. Är det bättre att köra många sql-kommandon med en anslutning, eller återansluta varje gång?

  4. Hur fastighetsproffs kan använda Microsoft Access