簡體   English   中英

與AND的案例陳述

[英]Case statement with AND

我在查詢中使用年齡過濾器,我選擇了多個年齡,如下所示

未滿18歲
25歲以下
25-34
35-44
45-54
55-64
超過65

我會從mysql中選擇有關年齡的行,如下所示

select * from users where isactive=1 
AND (DateOfBirth > (CURDATE() - INTERVAL  $Age YEAR) OR $Age = 0)

現在我想在年齡上添加案例說明,如果$ age變量= 25-34,以便我可以選擇相關

或者任何人都可以告訴我如何寫和陳述像這樣的情況

case $age
when $age='25' AND (DateOfBirth > (CURDATE() - INTERVAL  $Age YEAR) OR $Age = 0)
end case

這是完整查詢,我可以很好地用於搜索結果,只需要年齡過濾器和多個年齡以上的case語句,這里是query:

SELECT * FROM user WHERE IsDeleted!=1 AND (IsMale = $Gender OR $Gender = 2)

/// AT THIS POINT I NEED to add multple case to filter it by ages (after gender filter)

這應該工作正常:

CASE
  WHEN $age ='25' 
       AND 
       (
         ($Age = 0) 
         OR 
         (DateOfBirth > (CURDATE() - INTERVAL  $Age YEAR))
       )
  Then ...
END

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM