用空值替换空字符串
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;
【讨论】:
以上是关于用空值替换空字符串的主要内容,如果未能解决你的问题,请参考以下文章
IOS,如何在数组中的 dic 中循环 dic 以替换空字符串的空值