如果其他列不为空,则更新 3 列

Posted

技术标签:

【中文标题】如果其他列不为空,则更新 3 列【英文标题】:Update 3 columns if other columns are not empty 【发布时间】:2020-06-07 18:28:43 【问题描述】:

所以我有 6 列并且我设置了值。我想要的是如果 1-2-3 列不为空,我想将这些值设置为 4-5-6 单元格,否则如果 1-2- 3 列为空或 null 以将它们写入那里。

update STORETRADELINES 
set SP_ORDERSTATUS = 6, 
WHERE SP_WAREHOUSEDATE is null and SP_REFQTY is null

我在哪里得到语法错误。

提前致谢。

【问题讨论】:

为您正在使用的数据库提供样本数据、所需结果和标签。 【参考方案1】:

假设 empty 你的意思是 null,那就是:

update mytable
set col1 = 4, col2 = 5, col3 = 6
where col1 is null and col2 is null and col3 is null

注意:数据库表没有单元格,它们有。使用正确的术语可以让其他人更容易理解您的意思。

【讨论】:

Msg 156, Level 15, State 1, Line 4 关键字“WHERE”附近的语法不正确。 @MixMasteR:您可能没有完全按照提供的方式运行查询。我给你的查询不会产生这个错误:example on DB Fiddle. 脚本很好,但是如果 col1,2,3 不为空,我想设置 col4,col5,col6 一些值,否则如果 1,2,3 为空,我希望值去那里。

以上是关于如果其他列不为空,则更新 3 列的主要内容,如果未能解决你的问题,请参考以下文章

php mysql批量或批量更新多列和多行但如果列不为空则不更新

如果特定列不为空,则 Google 表格导入范围

如果一列不为空,则转换为多列的行

excel 怎样筛选出 有一个值为空的行

EXCEL如何通过函数得到一列不为空值的数

如何使视图列不为空