如何在 mySQL 的 SELECT 语句中使用 If 语句和关系运算符? [复制]

Posted

技术标签:

【中文标题】如何在 mySQL 的 SELECT 语句中使用 If 语句和关系运算符? [复制]【英文标题】:How Can I use If statement with relational operator in a SELECT statement in mySQL? [duplicate] 【发布时间】:2014-02-01 15:52:20 【问题描述】:

我想知道如何在mysql 的 select 语句中使用 if 语句来执行以下操作:

我有一个包含 8 列的表,我想在创建 view 时更改这些值。例如:我有一个名为Temperature 的列,我想在View 创建期间更改-50 to NULL 以下的值。

我如何使用IF 语句来做到这一点?还是有其他方法?

【问题讨论】:

【参考方案1】:

ANSI 标准语法是case:

select (case when temperature >= -50 then temperature end) as temperature

如果没有else 子句,默认为NULL

【讨论】:

【参考方案2】:

CASE试试这个

CREATE 
/*[ALGORITHM = UNDEFINED | MERGE | TEMPTABLE]
    [DEFINER =  user | CURRENT_USER ]
    [SQL SECURITY  DEFINER | INVOKER ]*/
VIEW `db`.`test` AS 
(SELECT 
  col,
  col2,
  (
    CASE
      WHEN col3 < - 50 
      THEN NULL 
      ELSE col3 
    END
  ) col3 
FROM
  ...) ;

【讨论】:

以上是关于如何在 mySQL 的 SELECT 语句中使用 If 语句和关系运算符? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在MySQL 5.7中使用SELECT ... INTO语句导出数据文件?

select 语句是如何在 MySQL 中执行的?

如何在MySQL中的INSERT语句中使用SELECT MAX?

如何将以下 3 个 select 语句包含在单个 mySQL 视图中

我将如何在 MySQL 中订购此 SELECT 语句?

如何在 MySQL Select 语句中按多列分组