Tone
Tone

Reputation: 783

Replace function in db2

I'm having some issues with a simple replace function. I need to replace a , with | for the point_of_contact column but I'm not sure why I'm receiving a -104 error. I have researched what I believed to be the correct syntax and tried a case statement and replace function but it is not working for me. I'm using DB2 and would appreciate your help.

SELECT RowNumber() over (PARTITION BY F13.DIM_PROJECT_ID ORDER BY F13.PROJECT_NAME), 

        F13.DIM_PROJECT_ID,
        F2P.NAME_LAST,
        F2P.NAME_FIRST,
        --F2P.POINT_OF_CONTACT, 
        --CASE WHEN F2P.POINT_OF_CONTACT like '%,%' THEN Replace(F2P.POINT_OF_CONTACT,',','|') ELSE F2P.POINT_OF_CONTACT,
        REPLACE(F2P.POINT_OF_CONTACT, ',', '|') AS F2P.POINT_OF_CONTACT,
        F13.PROJECT_NAME,
        F13.TITLE,
        F2H.CREATION_DATE,
        F13.FIELD A,
        F2H.AMOUNT,
        F2H.BUILDING_NAME,
        F2H.PERCENTAGE,
        F2H.ABILITY,
        F2SB.HOURS16,
        F2SB.HOURS33,
        F2SB.HOURS100  
FROM FACT_TABLE AS F13
INNER JOIN PERSONNEL AS F2P ON F13.DIM_PROJECT_ID = F2P.DIM_PROJECT_ID
LEFT JOIN JOB AS F2SB ON F13.DIM_PROJECT_ID = F2SB.DIM_PROJECT_ID
LEFT JOIN HOURS AS F2H ON F13.DIM_PROJECT_ID = F2H.DIM_PROJECT_ID

Upvotes: 2

Views: 38234

Answers (1)

Declan_K
Declan_K

Reputation: 6826

On your column alias, remove the table alias F2P.

REPLACE(F2P.POINT_OF_CONTACT, ',', '|') AS POINT_OF_CONTACT,

Upvotes: 10

Related Questions