如何在MySql中的两列上进行布尔逻辑,其中一列是Varchar?

Dan*_*ark 2 mysql select field

这是这个问题的续集.

我想在MySql选择中将三列合并为一列.前两列是布尔值,第三列是字符串,有时是null.这会导致奇怪的结果:

Select *, (payment1_paid && ((payment2_paid || payment2_type ="none"))) as paid_in_full from payments 
Run Code Online (Sandbox Code Playgroud)

注意: payment1_paid是boolean,payment2_paid是boolean,payment2_type是varchar.

注意:请忽略这个表的结构有多荒谬.在每一段糟糕的代码背后都有一个很长的解释:)

编辑:对于varchar值,Null对我来说并不感兴趣.我只想知道它是否真的"没有".

在此先感谢您的帮助!

Dav*_*ria 5

如果null不感兴趣那么对你来说:

Select *, 
      (payment1_paid && ((payment2_paid || (payment_type IS NOT NULL && payment_type="none"))) 
         as paid_in_full 
from payments
Run Code Online (Sandbox Code Playgroud)

祝好运!