SQL Trim 最后一个分号后
SQL Trim after final semi colon
以下查询生成以下示例。我只想拉出最后一个(总是第 3 个)分号之后的内容。每个输出都会有不同的城市,所以我不能只 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')
这应该适用于 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'
以下查询生成以下示例。我只想拉出最后一个(总是第 3 个)分号之后的内容。每个输出都会有不同的城市,所以我不能只 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')
这应该适用于 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'