带有OR的mysql SELECT IF语句

Rob*_*_UK 40 mysql sql select if-statement

以下工作 - 当退单等于1时返回Y,否则默认为N.

IF(fd.charge_back = 1, 'Y', 'N') AS charge_back
Run Code Online (Sandbox Code Playgroud)

但是我似乎无法让这个工作?语法是否有效

IF(compliment = ('set' OR 'Y' OR 1), 'Y', 'N') AS customer_compliment
Run Code Online (Sandbox Code Playgroud)

Dig*_*ift 76

大概这可行:

IF(compliment = 'set' OR compliment = 'Y' OR compliment = 1, 'Y', 'N') AS customer_compliment
Run Code Online (Sandbox Code Playgroud)

  • 也许是一个愚蠢的问题,但是`IN` 子句在这里有效吗?例如`IF(compliment IN('set','Y',1), 'Y', 'N') AS customer_compliment`? (4认同)

小智 7

IF(compliment IN('set','Y',1), 'Y', 'N') AS customer_compliment
Run Code Online (Sandbox Code Playgroud)

将会像Buttle Butkus所做的那样完成工作.