2013-02-26 60 views
0

I需要在存储过程中检查数字变量的前5位数。 请找到下面的例子。需要在db2存储过程中检查数字变量的前5位数

SP:

IN "IN_CNBR" VARCHAR(100), 

DECLARE v_end VARCHAR(16); 

V_END是从DB中取出并且它可以具有数字的多达16 .. 一个值但我有分裂所述第一5位的V_END的,并具有检查与输入参数

和我有一个检查,

IF (((CAST(IN_CNBR AS BIGINT)) > (CAST(v_end AS BIGINT)))) 

是下面一个是可能的吗?

v_end:=v_end.substring(0,5); 

然后

IF (((CAST(IN_CNBR AS BIGINT)) > (CAST(v_end AS BIGINT)))) 

由于提前,

+1

是的,这是可能的。存储过程的语言是什么? – 2013-02-26 13:28:53

+0

它的SQL丹..你能给我提供相同的语法,因为我冲浪了很多,但无法达到, – 2013-02-27 04:28:55

回答

1

您可以设置变量自身所具有的前五个字符如下:

set v_end = left(v_end,5); 

set v_end = substr(v_end,1,5); 

请注意,DB2 substr使用基于一个索引。

+0

其正是我想要的..非常感谢你丹.. – 2013-02-28 04:28:19