簡體   English   中英

MySQL IF函數-WHERE'field1> 0'嗎? 'field2 <field1':''

[英]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 > 0field1 > 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.

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