我试图将数字字段(大多数为8个字符长)的数字从最后一个数字返回到反方向的6个数字。 E.g
2345678-- i want 345678
56789356--789356
我使用以下代码:
sel SUBSTRING( LEVN010 from character_length(LEVN010)-5 for 6 ) FROM X.TABLE
但是,这不起作用。任何解决方案都非常感谢。
谢谢, 阿米特
答案 0 :(得分:1)
使用RIGHT
功能:
SELECT RIGHT(LEVN010,6) FROM X.table
或使用
SELECT SUBSTRING(LEVN010,-6) FROM X.table
答案 1 :(得分:1)
您的代码对于VarChar列是正确的,但您不需要指定FOR
,它是可选的,默认为直到结束:
SUBSTRING( LEVN010 from character_length(LEVN010)-5)
在TD15.10中,支持函数RIGHT
:
RIGHT(LEVN010, 6)
如果LEVN010
是固定长度CHAR
,则可能有尾随空格,您需要TRIM
它们(我添加了FOR
以消除尾随空格):
SUBSTRING( LEVN010 from character_length(TRIM(LEVN010))-5 FOR 6)
如果LEVN010
是INTEGER
,您最好使用MOD
:
LEVN010 mod 1000000