如何根据不同的条件从数字键中隔离选择的数字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据不同的条件从数字键中隔离选择的数字?相关的知识,希望对你有一定的参考价值。
我试图从数字产品密钥中提取国家ID,该密钥有两种类型:
对于SAS EG 7.1 1.一个7-8位数的密钥,前2-3位表示国家/地区ID。即对于国家代码为36的美国,产品密钥= 36XXXXX
对于国家代码为121的INDIA,产品密钥= 121XXXXX
- 带有第2,第3,第4位数字的13位数字键,表示国家ID,即美国,产品密钥= X036XXXXXXXXX
对于IN,产品密钥= X121XXXXXXXXX
使用以下代码来获取:
data want;
set have;
if length(key)>8 THEN COUNTRY_ID=substr(key), 2,3);
else COUNTRY_ID=substr(key,1,length(key)-5);
run;
它适用于带有7-8位数字键的第一种类型,但不适用于较长的13位数字键。它在国家ID中显示小数,即对于US,X036XXXX,而它应该只有36。
我需要更改数据类型吗?
答案
您应该包含一些示例数据,以便您的问题准确显示您遇到的问题以及您期望的内容,但我认为您只需要将country_id
转换为数字:
country_id = input(substr(key, 2, 3), best.);
您当前的代码实际上只是取三个字符'036'并将它们存储在country_id
中作为文本值; input()
函数将其转换为数字。
以上是关于如何根据不同的条件从数字键中隔离选择的数字?的主要内容,如果未能解决你的问题,请参考以下文章