最终半冒号后的SQL修剪

时间:2016-01-08 19:22:23

标签: sql db2 trim

以下查询生成以下示例。我想只拉出最后一个(总是第三个)半冒号之后的东西。每个输出都有不同的城市,所以我不能修剪一定数量的空间,因为它会有所不同。

SELECT  MAX(E.EVENT_DESC) 
FROM    IASDB.EVENT E 
WHERE   SL.INVOICE_NO = E.INVOICE_NO 
AND     E.EVENT_CODE IN 'EDL'

示例:

Consignee;Jeffersonville,IN;J 6

Consignee;Nashville,TN;J 14

我只需要拉出最后一个半冒号后面的字符? (例如:' J 6'或' J 14')

1 个答案:

答案 0 :(得分:1)

这应该在DB2中起作用:

SELECT  MAX(RIGHT(
         E.EVENT_DESC
        ,LENGTH(E.EVENT_DESC) - LOCATE_IN_STRING(E.EVENT_DESC,';',-1)))
FROM    IASDB.EVENT E 
WHERE   SL.INVOICE_NO = E.INVOICE_NO 
AND     E.EVENT_CODE IN 'EDL'