PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL CASE ... KẾT THÚC với nhiều điều kiện

Loại mã này có lẽ sẽ phù hợp với Bạn

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh Kho dữ liệu cho PostgreSQL - MVCC so với InnoDB

  2. Thêm cột dấu thời gian với mặc định NOW () chỉ cho các hàng mới

  3. Không có hàm nào phù hợp với các loại đối số và tên đã cho

  4. PostgreSQL không sử dụng chỉ mục một phần

  5. PG ::ConnectionBad:fe_sendauth:không cung cấp mật khẩu