PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL CASE ... END कई शर्तों के साथ

इस तरह का कोड शायद आपके लिए काम करे

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. @BatchSize एक स्मार्ट या बेवकूफी भरा उपयोग?

  2. दूरस्थ होस्ट से पोस्टग्रेज़ से कनेक्ट नहीं हो सकता

  3. स्थानिक डेटाबेस बनाने में त्रुटि। त्रुटि:पुस्तकालय /usr/pgsql-9.1/lib/rtpostgis-2.0.so लोड नहीं कर सका

  4. OUT पैरामीटर वाले फ़ंक्शन से लौटना

  5. रेल माइग्रेशन:कॉलम के प्रकार को स्ट्रिंग से पूर्णांक में बदलने की कोशिश की