这是一个演示查询,请注意,这非常简单,仅在base_price为0的地方获取,并且仍然选择条件3:
SELECT CASE course_enrollment_settings.base_price WHEN course_enrollment_settings.base_price = 0 THEN 1 WHEN course_enrollment_settings.base_price<101 THEN 2 WHEN course_enrollment_settings.base_price>100 AND course_enrollment_settings.base_price<201 THEN 3 ELSE 6 END AS 'calc_base_price', course_enrollment_settings.base_price FROM course_enrollment_settings WHERE course_enrollment_settings.base_price = 0
base_price 是 decimal(8,0)
base_price
decimal(8,0)
在数据库上运行此命令时,我得到:
3 0 3 0 3 0 3 0 3 0
删除course_enrollment_settings.base_price后立即CASE:
course_enrollment_settings.base_price
CASE
SELECT CASE WHEN course_enrollment_settings.base_price = 0 THEN 1 ... END
CASE有两种不同的形式,如手册中所述。在这里,您要使用第二种形式,因为您正在使用 搜索条件 。