Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL SELECT(MySQL)中的条件检查函数?_Mysql_Sql - Fatal编程技术网

SQL SELECT(MySQL)中的条件检查函数?

SQL SELECT(MySQL)中的条件检查函数?,mysql,sql,Mysql,Sql,我使用MySQL,需要在SQL中输出一个不统一的函数的结果。 即 如果A列的值低于某个数字,我需要在SELECT语句中向B列输出一个代数校正 如果它在上面,另一个 代数修正不能保证是“平滑的”,所以我应该有一些IF-like语句 我希望在不创建自定义函数的情况下执行所有这些内联操作。这更容易维护 在SELECT中实现此“步骤”更正的最佳语法是什么?我认为可以使用大小写表达式来实现这一点。大概是这样的: SELECT *, CASE WHEN A < threshhold

我使用MySQL,需要在SQL中输出一个不统一的函数的结果。 即

  • 如果A列的值低于某个数字,我需要在SELECT语句中向B列输出一个代数校正
  • 如果它在上面,另一个
代数修正不能保证是“平滑的”,所以我应该有一些IF-like语句

我希望在不创建自定义函数的情况下执行所有这些内联操作。这更容易维护


在SELECT中实现此“步骤”更正的最佳语法是什么?

我认为可以使用
大小写
表达式来实现这一点。大概是这样的:

SELECT *,
       CASE WHEN A < threshhold THEN exp_1(B) ELSE exp_2(B) END AS some_col,
FROM yourTable
选择*,
当A

在这里,您将使用涉及列
B
的实际表达式替换
exp\u 1(B)
exp\u 2(B)
,我认为您可以使用
CASE
表达式来实现这一点。大概是这样的:

SELECT *,
       CASE WHEN A < threshhold THEN exp_1(B) ELSE exp_2(B) END AS some_col,
FROM yourTable
选择*,
当A

在这里,您将使用涉及列
B
的实际表达式替换
exp\u 1(B)
exp\u 2(B)
,我们通常使用
CASE
语句来表示这一点;)。我们通常使用
CASE
statement;)。