我需要运行查询的表具有可以具有NULL值,空字符串或某些文本,数字等的字段。
例如,我有一个表“data”,其中包含字段id,field1,field2,field3,field4。
id是自动递增的键,因此它将具有值,但其他三个字段可以具有任何上述实例。
因此,对表的查询结果可能是id = 1,field1 = NULL,field2 ='',field3 ='some text',field4 ='5'。
如何在SELECT语句中为每个NULL字段返回一个空字符串?
谢谢!
[其他信息]
在我收到回复之前,我忘记提及这一点,所以我不确定它是否会改变答案。
此外,表中的某些字段是来自另一个表的ID,因此我正在进行内部联接,但“data”表中的id字段中可能有也可能没有值。
使用上面的“数据”表,如果field4是5(而不是上面最初定义的'5')并且是表“name”的id,我会有一个看起来像这样的连接: / p>
INNER JOIN name n ON n.id = data.field4
我相信连接会阻止某些行在我的结果集中返回。我该如何处理?
感谢和抱歉,如果有人已经回答。
答案 0 :(得分:2)
使用IFNULL
SELECT id, IFNULL(field1,''), IFNULL(field2,''), IFNULL(field3,'')
FROM data
答案 1 :(得分:0)
SELECT id, COALESCE(field1,''), COALESCE(field2,''), COALESCE(field3,'')
FROM data
答案 2 :(得分:0)
LEFT JOIN - 这就是答案。
我刚刚将INNER JOINS更改为LEFT JOINS,现在我获得了所有行,包括id字段为空的行。
当然,我在中提供的信息 [其他信息] 在我原来的问题中并不是全部。对不起,伙计们,我的坏人。 Salil根据我最初提供的信息正确回答。