Как получить размерность переменной DECLAREd в SP? - PullRequest
1 голос
/ 18 ноября 2010

Предположим, я объявил некоторые переменные в SP.

DECLARE _R1 VARCHAR(25);
DECLARE _R2 DECIMAL(4,0);
DECLARE _R3 DECIMAL(3,0);
DECLARE _R4 DECIMAL(2,0);

Как мне получить их размеры, такие как 25, 4, 3, 2?

1 Ответ

1 голос
/ 18 ноября 2010

Один из вариантов - создать действительно длинное значение.

Затем вставьте переменную и запустите на ней функцию length (). Так как он будет хранить столько значений, сколько определено в определении, он возвращает правильную длину.

Теперь осталось выяснить, как это сделать, не влияя на текущее значение.

SET _R1=LPAD('',1000,1); 
RETURN(LENGTH(_R1));
...