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
它像上面一样工作