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

Câu lệnh If Else đơn giản trong sql

Có vẻ như bạn đang cố sử dụng IF(condition, true_response, false_response) của Excel cú pháp. Tương đương trong T-SQL là CASE WHEN THEN ELSE END cú pháp:

SELECT 
    CASE 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY ='USD' THEN 1 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY='EUR' THEN 1
        ELSE 0
    END 
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES

Điều này sẽ hoạt động với các truy vấn phức tạp hơn so với ví dụ bạn đang cung cấp cho chúng tôi. Một cách khác để làm điều đó, nếu bạn có một số giá trị có thể có cho cùng một trường sẽ trả về cùng một phản hồi, sẽ là

SELECT 
    CASE 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') THEN 1
        ELSE 0
    END 
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES

Tuy nhiên, đó không phải là cú pháp phù hợp để sử dụng để chỉ lấy các hàng có đơn vị tiền tệ nhất định; câu trả lời trước đó với

SELECT *     
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES
WHERE 
    CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') 

sẽ hoạt động tốt nhất cho điều đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biểu mẫu trong PDO để cập nhật dữ liệu

  2. Điểm của việc tuần tự hóa các mảng để lưu trữ chúng trong db là gì?

  3. Mysql TRƯỜNG HỢP KHI THAM GIA Lỗi câu lệnh

  4. Ví dụ về MAKEDATE () - MySQL

  5. PHP Database Dump Script - có vấn đề gì không?