【问题标题】:Arithmetic Operation in MySQLMySQL中的算术运算
【发布时间】:2012-03-10 07:31:58
【问题描述】:

我想在 mysql 中执行如下 SQL 查询:

SELECT
(0-5) AS `sqlTest`, if(`sqlTest` < 0, 'false', 'true')

但我收到一个错误“'字段列表'中的未知列'sqlTest'”

注意

这不是一个精确的查询。这里将替换操作数 0 和 5 有 2 个大的 Select 查询。

【问题讨论】:

    标签: php mysql zend-framework select


    【解决方案1】:

    嘿,我得到了你问题的答案。在这里,

    试试这个,

    SELECT @var:=(0-5) AS sqlTest, if(@var&lt; 0, 'false', 'true');

    【讨论】:

      【解决方案2】:

      由于你使用的是MySQL,所以可以使用一个临时的来解决它;

      SELECT @tmp := (0-5) AS `sqlTest`, if(@tmp < 0, 'false', 'true')
      

      简单演示here.

      【讨论】:

      • 您能否将@Joachim 的答案标记为您正在寻找的答案。这是一种承认社区在回答您的问题时所花费的时间的方式。谢谢。
      【解决方案3】:
      SELECT @var:=(0-5) AS sqlTest, if(@var< 0, 'false', 'true');
      

      【讨论】:

        【解决方案4】:

        我用一个虚构的标识符安排了子查询:

        select if(x.`sqlTest` < 0, 'false', 'true') from (SELECT (0-5) AS `sqlTest`) x
        

        【讨论】:

          猜你喜欢
          • 2014-08-31
          • 2016-03-10
          • 1970-01-01
          • 2019-07-09
          • 2014-09-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多