mysql 替换空值_MySQL查询用空字符串替换NULL

本文探讨了MySQL中如何将NULL值转换为空字符串的方法。提供了多种解决方案,包括使用IFNULL、COALESCE及CASE WHEN语句,并解释了每种方法的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL查询用空字符串替换NULL

如何用空字符串替换select中的NULL值?输出“ NULL”值看起来不是很专业。

这是非常不寻常的,根据我的语法,我希望它能正常工作。希望能解释为什么没有。

select CASE prereq WHEN (prereq IS NULL) THEN " " ELSE prereq end from test;

原始表格的外观,我想要的以及实际打印的示例:

original wanted what actually prints

-------- ------ ---------------------

value1 value1

NULL NULL

value2 value2

NULL NULL

如您所见,它与我想要的相反,因此我尝试将IS NULL翻转为IS NOT NULL,当然没有解决问题,还尝试交换when case的位置,该方法不起作用。

编辑:似乎下面给出的3个解决方案都可以完成任务。 问候

select if(prereq IS NULL ," ",prereq ) from test

select IFNULL(prereq,"") from test

select coalesce(prereq, '') from test

asked 2019-11-04T09:03:17Z

10个解决方案

103 votes

如果确实必须输出所有值,包括NULL值:

select IFNULL(prereq,"") from test

JScoobyCed answered 2019-11-04T09:03:32Z

74 votes

SELECT COALESCE(prereq, '') FROM test

合并将返回从左到右传递给它的第一个非空参数。 如果所有的争论都为空,它将返回空,但是我们在此处强制使用空字符串,因此不会返回任何空值。

另请注意,标准SQL支持COALESCE运算符。 IFNULL不是这种情况。 因此,使用前者是一个好习惯。 另外,请记住,COALESCE支持两个以上的参数,它将在它们上进行迭代,直到找到一个非空的巧合。

Mosty Mostacho answered 2019-11-04T09:04:03Z

14 votes

尝试下面;

select if(prereq IS NULL ," ",prereq ) from test

answered 2019-11-04T09:04:27Z

4 votes

其中一些内置函数应该起作用:

Coalesce

Is Null

IfNull

Tamil Selvan C answered 2019-11-04T09:04:50Z

3 votes

原始形式几乎完美,您只需要在CASE之后省略prereq:

SELECT

CASE

WHEN prereq IS NULL THEN ' '

ELSE prereq

END AS prereq

FROM test;

M.Nemes answered 2019-11-04T09:05:13Z

2 votes

尝试COALESCE。它返回第一个非NULL值。

SELECT COALESCE(`prereq`, ' ') FROM `test`

SenorAmor answered 2019-11-04T09:05:36Z

1 votes

select IFNULL(`prereq`,'') as ColumnName FROM test

该查询选择“ prereq”值,如果其中任何一个为null,则显示一个空字符串因此,它显示所有值,但NULL值显示为空白

Abderrahmane answered 2019-11-04T09:06:00Z

0 votes

试试这个,这也应该摆脱那些空行:

SELECT prereq FROM test WHERE prereq IS NOT NULL;

Hunter McMillen answered 2019-11-04T09:06:24Z

-1 votes

我在数据库的非必填字段中有null(默认值为NULL)。 它们不会使值“ null”显示在网页中。 但是,通过网页输入表单创建数据时,将放置“ null”值。 这是由于JavaScript在通过AJAX和jQuery提交数据时采用null并将其转录为字符串“ null”。 确保这不是基本问题,因为简单地执行上述操作只是解决实际问题的临时措施。 我还实现了上述解决方案IFNULL(...)作为双重措施。 谢谢。

Daniel answered 2019-11-04T09:06:49Z

-1 votes

UPDATE your_table set your_field="" where your_field is null

Abderrahmane answered 2019-11-04T09:07:06Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值