将SAS读入文件转换为SQL

时间:2018-04-25 18:43:31

标签: sql sas

我正在尝试将.DAT文件读入SQL。代理商数据提供商在此处提供了SAS中的读入代码(https://www.health.ny.gov/statistics/sparcs/docs/ip_v2.sas)。我想将这些数据读入一个安全的SQL数据库,并想知道是否有人可以帮助我将这个SAS代码翻译成SQL?这是一个开始:

OPTIONS NOCENTER NODATE FORMDLIM=' ' compress=yes pagesize=50;
%let yr=11;

/**** READ IN FILE ******* No Check for HexDec ****/
data IUM;
  infile eium truncover lrecl=2500 PAD ignoredoseof /*obs=10000*/ ; 
  INPUT
    @0016   ordr    $char3.
    @0001   RECDTL  $char2500.
  ;

进一步说明它是指定列的位置和长度,而不是数据类型。那里的SAS用户感觉聪明慷慨吗?

1 个答案:

答案 0 :(得分:-1)

有什么要翻译的? @xxxx表示要从哪个列开始,然后您有变量名称和用于读取它的信息。 SAS只有两种数据类型,固定长度字符串和浮点数。任何以$开头的信息都会生成一个字符变量。其他人会产生一个数字。一些明显的信息将生成可以解释为日期,时间或日期时间(时间戳)值的数字。例如date9.time8.datetime20.。还有其他以文本格式表示日期的方式的信息,例如YYMMDD.MMDDYY.DDMMYY.

SAS将根据您在代码中首次引用变量的时间来定义数据集中变量的顺序。因此,ORDR将在RECDTL之前在数据库中定义,即使后者首先出现在文本文件中(第1列与第16列)。