我想從數字字段(大多數是8個字符長)中的數字從最後一位數字返回到6位數字的相反方向。 E.g逆向子行爲
2345678-- i want 345678
56789356--789356
我使用下面的代碼:
sel SUBSTRING(LEVN010 from character_length(LEVN010)-5 for 6) FROM X.TABLE
但是,這是行不通的。任何解決方案,這是非常讚賞。
感謝, 阿米特
我想從數字字段(大多數是8個字符長)中的數字從最後一位數字返回到6位數字的相反方向。 E.g逆向子行爲
2345678-- i want 345678
56789356--789356
我使用下面的代碼:
sel SUBSTRING(LEVN010 from character_length(LEVN010)-5 for 6) FROM X.TABLE
但是,這是行不通的。任何解決方案,這是非常讚賞。
感謝, 阿米特
使用RIGHT
功能:
SELECT RIGHT(LEVN010,6) FROM X.table
或使用
SELECT SUBSTRING(LEVN010,-6) FROM X.table
似乎不支持右功能 – user3901666
嘗試用'SUBSTRING(LEVN010,-6)'代替 – fonfonx
感謝fonfonx的回覆。它工作正常。 :) – user3901666
你的代碼是一個VARCHAR列是正確的,但你並不需要specifiy FOR
,它是可選的,默認爲直到結束:
SUBSTRING(LEVN010 from character_length(LEVN010)-5)
在TD15.10功能RIGHT
支持:
如果LEVN010
是固定長度CHAR
有可能是尾隨空格,你需要TRIM
他們(我加了FOR
回擺脫後面的空格的):
SUBSTRING(LEVN010 from character_length(TRIM(LEVN010))-5 FOR 6)
如果LEVN010
是INTEGER
你最好使用MOD
:
LEVN010 mod 1000000
是的,你是正確的節食..我鑄造了專欄字符和它的工作正常。 我在TD 14上,這就是爲什麼Right不工作。 模組將在TD 14上工作嗎?我將不得不在週一進行測試。 非常感謝:) – user3901666
什麼是'LEVN010'的實際數據類型。你的代碼對於Varchar是正確的。 – dnoeth