input - 将字符串转换为数字并保留前导零
问题描述
我正在尝试将字符串转换为数字并使用以下代码
选择
PROC SQL;
CREATE TABLE WORK.CLAIM_HISTORY AS
SELECT input(cats(substr(SUBSTR(t1.LIABILITY_CTRT_ID,3),1,length(SUBSTR(t1.LIABILITY_CTRT_ID,3))-6),substr(t1.LIABILITY_CTRT_ID,13)),Z10.) AS GENERAL_INSURANCE_UOE_RK,
t1.UNDERWRITING_DT
FROM work.SIN t1
LEFT JOIN work.custos_agregados_liab t2 ON (t1.CLAIM_NO = t2.CLAIM_NO)
where t2.COVERAGE_CD <> '999';
QUIT;
例如,当 GENERAL_INSURANCE_UOE_RK 是 0223963 并且使用输入函数时,sas 正在删除前导零并返回 223963。我想要完全相同的数字,只是格式化为数字。
提前致谢。
解决方案
前导零对数值没有意义。但是您可以将 Z 格式附加到数值变量,并让 SAS 显示带有前导零的值。
请注意,当您尝试将其Z10.
用作INFORMAT
. 没有Z
信息。只需使用普通的数字信息将字符串转换为数字即可。
select
input(cats(substr(SUBSTR(t1.LIABILITY_CTRT_ID,3),1,length(t1.LIABILITY_CTRT_ID)-8)
,substr(t1.LIABILITY_CTRT_ID,13)
)
,32.) AS GENERAL_INSURANCE_UOE_RK format=Z10.
,t1.UNDERWRITING_DT
推荐阅读
- mysql - Laravel 蛞蝓重复
- python-3.x - 单击按钮时跳过文件 [tkinter + Python 3.5]
- c++ - c++ std::enable_if .... 其他?
- javascript - 加载新元素时网站跳过
- python - 字符串替换不改变字符串
- angular - 如何使用一级 url 构建角度项目?
- python - 如何将满足条件的numpy数组中的第一个值设置为1但不设置其余值
- mysql - 如何从 MySQL 命令行导出 CSV 文件
- python - 使用 Logitech Brio 网络摄像头和 python 中的“pygame”以 4k 分辨率拍照的问题
- r - 背景和文本在 ggplot 散点图的 PDF 输出中没有正确显示?