![](/img/trans.png)
[英]MYSQL select field1, field2 only where field1 or field2 does not equal text
[英]MySQL IF function - WHERE 'field1 > 0' ? 'field2 < field1' : ''
我需要幫助將其轉換為MySQL語句。 我需要做類似的事情:
WHERE IF 'field1 > 0' THEN 'field2 < field1'
現在,我有這個MySQL語句,但是行不通?:
SELECT * FROM `my_table` WHERE IF(field1>0, field2<field1, 1=1) AND field3='1';
請為此提供解決方案。 謝謝!
您只想檢查field2 < field1
如果field1 > 0
, field1 > 0
這種方式進行編碼:
SELECT * FROM `my_table`
WHERE ((field1 > 0 AND field2 < field1) OR field1 <= 0)
AND field3 = '1';
您應該使用一個case語句:
SELECT * FROM `my_table`
WHERE
field2< CASE WHEN (field1>0) THEN field1 ELSE field2+1 END
AND field3='1';
您可以通過使用邏輯AND和OR來實現。
WHERE (field1 > 0 AND field2 < field1) OR (field1 <= 0 AND <else part of the statement>)
<else part of the statement>
是要檢查field1
是否不> 0
,除非沒有這樣的子句,在這種情況下,請刪除OR及其后面的所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.