1
次のコードを使用して、書式設定されたフィールドから姓のみを取得するビューに列を追加しようとしています「姓、姓」:フィールドにカンマがある場合にコンマが存在しない場合、ビューエラーは、次の質問から参照としてコンマを持つ可能性のある列から選択するためのSQL Caseステートメントのアシスト
VALUE(RTRIM(SUBSTR(A.PREVIOUS_NAMES,1,LOCATE(',', A.PREVIOUS_NAMES)-1)), '')
AS "PREVIOUS_NAME",
これは、しかし、正常に動作します。
SQLCode=-138 flagging on large count tables but not small DB2
私はカンマが存在する場合に選択するには、これに対応するcase文を思い付くしようとしましたが、私は失敗してきた、と私は経験豊富な人からの支援や提案を求めています。
RTRIM(
CASE WHEN LOCATE(",", A.PREVIOUS_NAMES) = 0
THEN A.PREVIOUS_NAMES
ELSE SUBSTR(A.PREVIOUS_NAMES,1,LOCATE(",", A.PREVIOUS_NAMES)-1)
END) AS "PREVIOUS_NAME"
それは非常に洗練されていないだし、それは「それが使用されているコンテキストでは有効ではありません」と言ってくれSQLCODE-206を与えます。
ご協力いただきありがとうございます!
これは私が達成しようとしたまさにでした。ゴードンさんありがとうございました。 – XB1213