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

Làm cách nào để sử dụng điều kiện OR trong biểu thức MySQL CASE?

CASE ranking
  WHEN 1 THEN 'alpha' 
  WHEN 2 THEN 'beta'  
  WHEN 10 THEN 'charlie' 
  ELSE 'zelta' 
END CASE;

Bạn có thể sử dụng một trong các khám phá mà KHI CÓ, nhưng bạn không thể kết hợp cả hai.

1) WHEN when_expressionLà một biểu thức đơn giản mà input_expression được so sánh khi định dạng CASE đơn giản được sử dụng. when_expression là bất kỳ biểu thức hợp lệ nào. Các kiểu dữ liệu của input_expression và mỗi when_expression phải giống nhau hoặc phải là một chuyển đổi ngầm định.

2) KHI nào Boolean_expressionLà biểu thức Boolean được đánh giá khi sử dụng định dạng CASE được tìm kiếm. Boolean_expression là bất kỳ biểu thức Boolean hợp lệ nào.

Bạn có thể lập trình:

1)

 CASE ProductLine
         WHEN 'R' THEN 'Road'
         WHEN 'M' THEN 'Mountain'
         WHEN 'T' THEN 'Touring'
         WHEN 'S' THEN 'Other sale items'
         ELSE 'Not for sale'

2)

CASE 
         WHEN ListPrice =  0 THEN 'Mfg item - not for resale'
         WHEN ListPrice < 50 THEN 'Under $50'
         WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
         WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
         ELSE 'Over $1000'
      END

Nhưng trong mọi trường hợp, bạn có thể mong đợi rằng xếp hạng biến sẽ được so sánh trong một cuộc thám hiểm boolean.

http://msdn.microsoft.com/en-us/library/ms181765 .aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bàn tối đa &Mẫu thiết kế

  2. Không thể nhận nhiều thực thể Bảng thông qua thủ tục Đã lưu trữ bằng chế độ ngủ đông

  3. Làm cách nào để đặt character_set_database và collation_database thành utf8 trong my.ini?

  4. MYSQL ON DUPLICATE KEY UPDATE không cập nhật

  5. Làm cách nào để kiểm tra xem một giá trị đã tồn tại hay chưa để tránh trùng lặp?