-1

症状、原因、解決策が満たされていないため、空です。長い説明テーブルから取得した ldtext 列をテキストに置き換えたいと考えています。レポートにテキストを含む null 列を表示したい。

ありがとうございました

列の null 値を置き換えるには、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

列の null 値を置き換えるには、COALESCE()function を使用します。DB2 固有のソリューションでは、IFNULL()関数を使用します。

SELECT COALESCE(columnName,'Some Text')

また

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