mysql - 有没有办法将 'interpoloate' 列的值作为 MySQL 中 WHERE 子句中的比较运算符?

标签 mysql where-clause string-interpolation comparison-operators

假设我有一个名为“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

关于mysql - 有没有办法将 'interpoloate' 列的值作为 MySQL 中 WHERE 子句中的比较运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50357156/

相关文章:

mysql - 在 MySQL 查询中同时使用存在和简单值检查

MYSQL - 仅将 where 子句应用于某些字段

MySQL 错误 : 1054 Unkown column in 'where clause'

ruby - 使用 `p` 方法转义出现在数组中的字符,无需插值

PHP:while 循环中的 mysql_fetch_array() 耗时太长

mysql - 删除除两个之外的重复数据

scala - 字符串插值在函数定义中不起作用

javascript - 带有字符串插值的字符串数组

MySql 尝试从另外两个表的列创建一个表

mysql - 在逗号分隔的字符串中搜索和获取与来自 URL PHP MySql 的 post 变量匹配的字符串值