我在具有 PO-RAILCAR 的表中有一個列。我需要將此列分成兩部分。我撰寫了以下查詢,它完全符合我的要求。但是,結果以破折號回傳。我如何撰寫它以回傳沒有破折號的值?
SELECT INVT_LEV3, SUBSTR(INVT_LEV3,1,INSTR(INVT_LEV3,'-')) AS PO,
SUBSTR(INVT_LEV3,INSTR(INVT_LEV3,'-')) AS Railcar
FROM C_MVT_H
WHERE INVT_LEV4 = 'G07K02129/G07K02133'
這就是我得到的:第一列是我需要拆分的列。第二個和第三個看起來很完美,但我需要洗掉破折號
第 1 列:110799P-FBOX50553 第2 列:110799P- 第3 列:-FBOX505536
uj5u.com熱心網友回復:
出現問題是因為 INSTR 為您提供了文本中“-”的位置。要解決此問題,您只需從回傳的位置添加或減去 1。
您當前的查詢:
SELECT INVT_LEV3, SUBSTR(INVT_LEV3,1,INSTR(INVT_LEV3,'-')-1) AS PO, SUBSTR(INVT_LEV3,INSTR(INVT_LEV3,'-') 1) AS Railcar FROM C_MVT_H WHERE INVT_LEV4 = 'G07K02129/G07K02133'
提議的新查詢
SELECT INVT_LEV3, SUBSTR(INVT_LEV3,1,INSTR(INVT_LEV3,'-')) AS PO, SUBSTR(INVT_LEV3,INSTR(INVT_LEV3,'-')) AS Railcar FROM C_MVT_H WHERE INVT_LEV4 = 'G07K02129/G07K02133'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/442078.html
下一篇:動態獲取基本ID的自連接遞回
