【问题标题】:Replace function in db2db2 中的替换函数
【发布时间】:2013-09-09 19:17:09
【问题描述】:

我在使用简单的替换功能时遇到了一些问题。我需要用 | 替换 ,对于 point_of_contact 列,但我不确定为什么会收到 -104 错误。我研究了我认为正确的语法并尝试了 case 语句和替换函数,但它对我不起作用。我正在使用 DB2,非常感谢您的帮助。

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

【问题讨论】:

    标签: sql replace db2


    【解决方案1】:

    在您的列别名上,删除表别名F2P.

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

    【讨论】:

    • 哇。错过了那个。谢谢 Decian_K!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多