-1

Symptom,Cause,Resolution 没有填满,所以它是空的,我想用一些文本替换从长描述表中获取的 ldtext 列。我想在报告中显示带有一些文本的空列。

谢谢

要替换列中的空值,请使用COALESCE()function 。对于 DB2 特定的解决方案使用IFNULL()功能。

SELECT COALESCE(columnName,'Some Text')

或者

SELECT IFNULL(columnName,'Some Text'

SELECT b.ticketid,(SELECT COALESCE(CAST(SYMPTOM.LDTEXT AS VARCHAR(1000),'text') 
                   FROM MAXIMO.LONGDESCRIPTION SYMPTOM  
                   WHERE SYMPTOM.LDOWNERCOL = 'PROBLEMCODE' 
                         AND SYMPTOM.LDOWNERTABLE = 'TICKET' 
                         AND SYMPTOM.LDKEY = B.TICKETUID) AS "symptom" 
FROM incident b

从上面的查询它不起作用

SELECT b.ticketid, COALESCE(SELECT CAST(SYMPTOM.LDTEXT AS VARCHAR(1000)) 
                            FROM MAXIMO.LONGDESCRIPTION SYMPTOM  
                            WHERE SYMPTOM.LDOWNERCOL = 'PROBLEMCODE' 
                                  AND SYMPTOM.LDOWNERTABLE = 'TICKET' 
                                  AND SYMPTOM.LDKEY = B.TICKETUID), 'some text') AS "symptom"
FROM incident b

它像上面一样工作

4

1 回答 1

0

要替换列中的空值,请使用COALESCE()function 。对于 DB2 特定的解决方案使用IFNULL()功能。

SELECT COALESCE(columnName,'Some Text')

或者

SELECT IFNULL(columnName,'Some Text')
于 2014-02-12T08:14:01.330 回答