Mysql sql select语句中的Case语句
在上面的select语句中,我正在创建一个名为Mysql sql select语句中的Case语句,mysql,Mysql,在上面的select语句中,我正在创建一个名为 新的_列及其值应基于case语句中的条件。 当我运行此查询时,“NEW_column”值返回为NULL。有人能帮我解决这个逻辑错误吗?你需要写column1为null类似地column1不为null SELECT column1, column2, (CASE WHEN column1=NULL THEN @NEW_column =column2 WHEN column1!=NULL THEN @NEW_column =column1 END)
新的_列及其值应基于case语句中的条件。
当我运行此查询时,“NEW_column”值返回为NULL。有人能帮我解决这个逻辑错误吗?你需要写
column1为null
类似地column1不为null
SELECT
column1,
column2,
(CASE WHEN column1=NULL THEN @NEW_column =column2
WHEN column1!=NULL THEN @NEW_column =column1
END) AS NEW_column,
FROM my_table
输出:
SELECT
column1,
column2,
CASE WHEN column1 is NULL THEN column2
WHEN column1 is not NULL THEN column1
END AS NEW_column,
FROM my_table
这意味着你的条件没有任何价值 有几种方法可以调试您的SQL语句: 样品
col1 col2 newcol
3 null 3
null 4 4
5 null 5
新的_列仍然返回空值。请在您的问题中提供一些示例数据,这样就很容易理解@bhavanadixit的实际错误了。我的表中有两列是column1和column2。情况是,每个记录中的column1和column2都将为null(记录中的column1和column2不能同时为null)。我想计算一个新的_列,它从列1或列2中选择不为null的值。@BhavanaDixit-检查这里-ISNULL()函数根据表达式是否为null返回1或0-您可以将字符串设置为默认值。或者使用COALESCE()
SELECT
column1,
column2,
ISNULL(column1,column2) AS NEW_column
FROM my_table