簡體   English   中英

在MySQL的WHERE子句中,是否有辦法“插入”列的值作為比較運算符?

[英]Is there a way to 'interpoloate' a column's value as the comparison operator in the WHERE clause in MySQL?

假設我有一個名為“ comparison_operator”的列,其值類似於“>”,“ =”,“ <”。 在“產品”表中。 有沒有辦法像下面這樣在WHERE子句中使用它?

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

我相信這個問題的答案是“否”,但我想看看是否有其他方法可以達到相同的目的。 謝謝!

是的,但不是那樣。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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