这是我试图实现的逻辑:
如果'new_column'为空,则从'event'列中提取值...否则保留'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?
答案 0 :(得分:0)
这就是你可以在MSSQL中替换空白的方法:
SELECT REPLACE(new_column, '', event)
FROM TABLE
如果你还想照顾NULLS,那么你可以在同一个查询中添加ISNULL:
SELECT REPLACE(ISNULL(new_column, event), '', event)
FROM TABLE
答案 1 :(得分:0)
您在寻找coalesce()
吗?
select coalesce(new_column, event) as new_column
答案 2 :(得分:0)
假设您正在尝试RETURN数据,您将在SELECT语句中使用COALESCE函数,如下所示:
<script>
if (Modernizr.lineclamp)
{
alert("yay");
}
else
{
alert("nay");
}
</script>
COALESCE的作用是按优先顺序获取参数,并返回第一个NOT NULL值。在这个函数下面,它被评估为CASE表达式,所以你可以修改上面的NULL,你的条件是空长字符串:
select
[new_column] = coalesce(new_column, event),
[event] = event
from
df_EVENT;
这是在不知道您的数据源。如果您正在从Python执行INSERT,那么您可以保留Python逻辑并将其应用于传递的SQL语句。否则,你可以像我上面列出的那样。
答案 3 :(得分:0)
如果您使用Sql server
,请尝试此操作Insert into TABLENAME (Column1)
(Select ISNULL(new_column, eventcolumn) from TABLENAME)
ISNULL函数检查如果new_column为null则获取eventcolum的值,否则获取新列值
或者你也可以在sql的设施使用案例。 语法如下:
选择isnull时的大小写(new_column,'')='' 然后eventcolumn其他new_column结束