0
我正在查看SAP數據服務(BODS)中的數據流。表(WORKCODE)中的一列'Reg'具有雙值(例如8.33E-02)。任何人都可以請解釋下面的表達是什麼在「索引」下面表達的功能:SAP數據服務中的索引功能
substr(WORKCODES.Reg, 1, (index (upper (WORKCODES.Reg),'E',1)-1))
我正在查看SAP數據服務(BODS)中的數據流。表(WORKCODE)中的一列'Reg'具有雙值(例如8.33E-02)。任何人都可以請解釋下面的表達是什麼在「索引」下面表達的功能:SAP數據服務中的索引功能
substr(WORKCODES.Reg, 1, (index (upper (WORKCODES.Reg),'E',1)-1))
我剛剛看到您的文章,因爲我正在尋找有關BODS索引功能的信息。 索引函數返回字符串值中字符的位置。等效的sql函數是INSTR。
在您的例子(如爲8.33E-02):
SUBSTR('8.33E-02', 1, INDEX ('8.33E-02', 'E', 1)-1)
==>INDEX ('8.33E-02', 'E', 1)
將回到開始的位置是1字母 'E' 的位置應該是5
然後使用SUBSTR
函數抽取你的電話號碼的第一部分:
SUBSTR(String Value, Start Pos, End Pos)
SUBSTR('8.33E-02', 1, INDEX ('8.33E-02', 'E', 1)-1)
SUBSTR('8.33E-02', 1, 5-1)
你減去1到「E」的位置,以保持第一部分!
回答永遠不會太晚! =)
SQL等效:
SELECT SUBSTR('8.33E-02', 1, INSTR ('8.33E-02', 'E')-1)
, INSTR ('8.33E-02', 'E')
FROM DUAL
香精