Я пытаюсь объединить два элемента данных в PROC SQL и получаю усечение. Когда я пробую тот же процесс в наборе данных, я также получаю усечение, но другим способом. Рассмотрим следующее:
data test;
var_a = '111111';
var_b = 12345678;
run;
proc sql;
create table test2 as
select coalesce(input(var_1, 6.), var2) as var3 format = best14.
from test;
quit;
Это создает числовое поле со значением 111111
, а это не то, что мне нужно. Интересно, если я сделаю все это за один шаг данных и изменю свой код следующим образом:
data test;
format var3 best14.
var_a = '111111';
var_b = 12345678;
var3 = coalesce(input(var_1, 6.), var2);
run;
Я получаю вывод числового поля, содержащего 12345678
. На самом деле мне нужен шаг SQL, который даст мне числовое поле, содержащее 11111112345678
.
Может кто-нибудь посоветовать, почему это усечение происходит при использовании функции COALESCE?
Спасибо