if else

hi there
as
T1.HLOC = IF T2.HLOC  IS MISSING THEN '.' ELSE T2.HLOC   dont work in db2
whts the other way around
thanks
bobby
SELECT  
 T1.HLOC  ,
 T2.HLOC
FROM
   (STG_PURCHDE1_WR T1  LEFT OUTER JOIN V_RRR_PURCHDE2_WR T2
       ON
  T1.HCOMP  = T2.HCOMP
 AND T1.HDIV  = T2.HDIV
AND T1.DPORD#  = T2.DPORD#
AND T1.DLINE#  = T2.DLINE#
AND T1.HLOC = IF T2.HLOC  IS MISSING THEN '.' ELSE T2.HLOC  )
bobby2929Asked:
Who is Participating?
 
sachinwadhwaConnect With a Mentor Commented:
or use COALESCE function

T1.HLOC = COALESCE(T2.HLOC , '.')

COALESCE(T2.HLOC , '.') will return T2.HLOC,  if T2.HLOC is not null otherwise '.'

more help here:

http://publib.boulder.ibm.com/infocenter/db2luw/v8//topic/com.ibm.db2.udb.doc/admin/r0000780.htm
0
 
momi_sabagCommented:
hi
what you need is the case expression  :
 T1.HLOC = IF T2.HLOC  IS MISSING THEN '.' ELSE T2.HLOC

will be

T1.HLOC = CASE WHEN T2.HLOC IS NULL THEN '.'
                         WHEN SOME-OTHER-CONDITION THEN SOME-OTHER-VALUE
                          ELSE T2.HLOC END

you have to write the END in order to close the case clause

momi
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.