MSSQL:在有条件栏填入值与另一列如果空白

这是我想要实现的逻辑:MSSQL:在有条件栏填入值与另一列如果空白

如果“NEW_COLUMN”为空然后拉从“事件”列中的值.. 。否则保留'new_column'中的值

我已经在Python代码中成功编写了它,但是对于SQL来说是新的。

df_EVENT5_6['new_column'] = np.where(df_EVENT5_6['new_column'] == '', df_EVENT5_6['event'], df_EVENT5_6['new_column']) 

如何将上述Python代码转换为SQL?

回答:

你正在寻找coalesce()

select coalesce(new_column, event) as new_column 

回答:

这是如何在MSSQL代替空格:

SELECT REPLACE(new_column, '', event) 

FROM TABLE

如果你也想照顾空值,那么你可以在同一查询添加ISNULL:

SELECT REPLACE(ISNULL(new_column, event), '', event) 

FROM TABLE

回答:

假设你试图返回数据,你会在SELECT语句中使用的COALESCE功能,如下图所示:

select 

[new_column] = coalesce(new_column, event),

[event] = event

from

df_EVENT;

不会有什么COALESCE带参数的优先顺序并返回非空的第一个值。下面这个函数将其评价为CASE表达,所以你可以用你的病情空长字符串修改上面NULL这样:

select 

[new_column] = case when new_column > '' then new_column else event end

[event] = event

from

df_EVENT;

这是不知道你的数据源。如果您正在从Python进行INSERT,那么您可以保留Python逻辑并将其应用于传递的SQL语句。否则,你可以按照上面列出的方式进行操作。如果你使用SQL Server

Insert into TABLENAME (Column1) 

(Select ISNULL(new_column, eventcolumn) from TABLENAME)

ISNULL功能检查,这就是如果NEW_COLUMN是空

回答:

试试这个,然后采取eventcolum否则采取新的列值

,或者您也可以使用大小写的值时,SQL的设施。 情况下,当语法是这样的:

时ISNULL(NEW_COLUMN, '')= '' 然后eventcolumn其他NEW_COLUMN结束

以上是 MSSQL:在有条件栏填入值与另一列如果空白 的全部内容, 来源链接: utcz.com/qa/259363.html

回到顶部