在mysql的where子句中,有没有一种方法可以将列的值作为比较运算符“interpolate”?

lrpiutwd  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(384)

假设我有一个名为“comparison\u operator”的列,其值为“>”、“=”、“<”。在“产品”表中。有没有办法在where子句中使用它?

SELECT products.name FROM products WHERE products.price #{comparison_operator} products.cost

我相信这个问题的答案是否定的,但我想看看是否有其他方法可以达到同样的目的。谢谢您!

2admgd59

2admgd591#

是的,但不是那样。

CASE
  WHEN products.comparison_operator = ">"
    THEN products.price > products.cost
  WHEN products.comparison_operator = "<"
    THEN products.price < products.cost
  ELSE
    products.price = products.cost
END

相关问题