在 SAS 中使用 PROC SQL 去除字符串前导的0,可以使用 TRIM 函数。
TRIM 函数用于去除字符串的前导、尾随或两端的空格,其语法为:
TRIM(option string)
其中,option 参数可以是以下三个选项之一:
LEADING:去除字符串的前导空格
TRAILING:去除字符串的尾随空格
BOTH:去除字符串的前导和尾随空格
如果要去除字符串前导的0,可以使用 TRIM 函数的 LEADING 选项,如下所示:
proc sql;
select trim(leading '0' from myvar) as myvar_trimmed
from mytable;
quit;
其中,myvar 是要处理的变量名,mytable 是包含该变量的表名。通过 trim(leading '0' from myvar) 可以去除 myvar 变量前导的0,as myvar_trimmed 则是将处理后的结果重命名为 myvar_trimmed。
值得注意的是,如果 myvar 变量中只包含0,则处理后将会返回空值。如果需要避免返回空值,可以使用 COALESCE 函数将处理后的结果转换为数字类型。例如:
proc sql;
select coalesce(input(trim(leading '0' from myvar), 12.), 0) as myvar_trimmed
from mytable;
quit;
其中,input 函数将处理后的结果转换为数字类型(假设 myvar 是12位数字),如果转换失败则返回0。如果 myvar 中只包含0,则处理后将返回数字0,而不是空值。