用空值替换空字符串

Posted

技术标签:

【中文标题】用空值替换空字符串【英文标题】:Replace null string with null value 【发布时间】:2016-10-16 23:46:01 【问题描述】:

我有一个表,其字符串值为“null”,我希望将其替换为实际的 NULL 值。

但是,如果我尝试在我的选择中执行以下操作

Select Replace(Mark,'null',NULL) from tblname

它用字符串替换所有行,而不仅仅是替换行。如果我将其更改为

Select Replace(Mark,'null',0) from tblname

它符合我的预期,并且只更改带有字符串'null'的那些

【问题讨论】:

在您询问 SQL 问题时,始终指定(标记)您正在使用的实际数据库。 @GordonLinoff 什么?,不,这不对,op 想要 COALESCE 的反面 +1 向我展示了我在文档中忽略的内容:“如果任何一个参数为 NULL,REPLACE 将返回 NULL。”当Mark 的某些值可能不包含子字符串'null' 时,这似乎不太合乎逻辑。 【参考方案1】:

你可以使用NULLIF:

SELECT NULLIF(Mark,'null') 
FROM tblname;

【讨论】:

以上是关于用空值替换空字符串的主要内容,如果未能解决你的问题,请参考以下文章

数据帧到 RDD[Row] 用空值替换空间

IOS,如何在数组中的 dic 中循环 dic 以替换空字符串的空值

如何使用scala在Apache spark中用空字符串(“”)替换空值[重复]

如何用函数链中的空字符串替换数据库中的空值

Rails 3.2:用json序列化中的空字符串替换空值

用空字符串替换字典数组中的 NSNull 值