如何使用sql从maximo中的longdescription表替换空的ldtext列

时间:2014-02-12 08:09:35

标签: sql db2 maximo

症状,原因,分辨率未填满,所以它是空的, 我想用一些文本替换长描述表中的fetped ldtext列。 我想在报告中显示带有一些文本的空列。

谢谢

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

SELECT COALESCE(columnName,'Some Text')

OR

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

它的工作方式如上

1 个答案:

答案 0 :(得分:0)

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

SELECT COALESCE(columnName,'Some Text')

OR

SELECT IFNULL(columnName,'Some Text')