[SAS]易错例子之数值型转字符型

/*
   数值型缺失,可赋值点号(.),data步可以用 var = . 或 missing(var)判断
   字符型缺失,可赋值0个或多个空格(‘‘ 或‘ ‘等), data步可以用var = ‘‘ 或missing(var)判断
   以下是数值型缺失转字符型的例子,但缺失转换后不缺失,易做错。
*/

data test;
input var;
datalines;
1
.
;
run;

/* 错误转换*/
data test2;
    set test;

	var2 = compress(put(var, 8.));
run;

proc sql;
    select count(*) as miss_n
	from test2
	where var2 is missing;
quit;

/* 正确转换*/
data test3;
    set test;

    if missing(var) then var2 = ‘‘;
    else var2 = compress(put(var, 8.));
run;

proc sql;
    select count(*) as miss_n
	from test3
	where var2 is missing;
quit;

  

时间: 2024-11-10 08:37:09

[SAS]易错例子之数值型转字符型的相关文章

基本类型:整型与字符型

一.整型int 1.1 概述 整数类型用来表示不同的取值范围和正负值,含义和数学一样,整数是没有小数部分的值: 区分正负的类型,称为有符类型(signed),无正负的类型(只有正值),称为无符类型. (unsigned):当声明某变量类型为无符号类型时,需要在类型声明前显示使用unsigned: 1.2 int类型 short int 类型:简写short,C规定占用的空间不能多于int long int 类型: 简写 long ,占用的空间可能比int多: long long int 类型:

让人又爱又恨的char(字符型)

今天来总结一下char型,平常写算法的时候对这个东西感觉都有一点绕着走,说到底还是对这部分的知识不熟悉所以有点怕他,不过以后不要怕,今天来总结一下 首先,说到字符型数据类型,char型,恩它是一种数据类型 然后,就是字符型变量 字符型变量的重点是将一个字符存入字符变量中,实际上存入的不是这个字符的形,而是这个字符的ASCII码 输入:getchar(); 输出:putchar(); getchar和scanf的区别在于他可以输入空格 字符型常量: 1.普通 'a' 2.转义 1.‘\t’ 斜杠+

软考程序员新手易错笔记

1.●标准化对象一般可分为两大类:一类是标准化的具体对象,即需要制定标准的具体事物:另一类是  (4)  ,即各种具体对象的总和所构成的整体,通过它可以研究各种具体对象的共同属性.本质和普遍规律. (4) A.标准化抽象对象    B.标准化总体对象    C.标准化虚拟对象    D.标准化面向对象 [解析]:标准化对象一般可分为两类:一类是标准化的具体对象:另一类是标准化的总体对象. 2.●用二进制加法器对二-十进制编码的十进制数求和,当和大于1010时,  (5)  . (5) A.不需要

关于Verilog HDL的一些技巧、易错、易忘点(不定期更新)

本文记录一些关于Verilog HDL的一些技巧.易错.易忘点等(主要是语法上),一方面是方便自己忘记语法时进行查阅翻看,另一方面是分享给大家,如果有错的话,希望大家能够评论指出. 关键词: ·技巧篇: 组合逻辑输出类型选择; 语法上的变量交换; ·易忘篇: case/casex/casez语句; 循环语句: 数制和操作符: 数据类型: ·易错: 技巧篇: 1.组合逻辑输出:描述一个纯组合逻辑电路时,尽量不要把输出定义成输出类型,例如描述下面的电路: 1 module mux #(paramet

指针重难、易错点

(一)函数指针 在前边的blog中,已经整理归纳了数组和初级指针,接下来,我来继续整理高级指针和如何正确使用指针. 我们说过,指针数组是一个数组,每个元素是指针:数组指针是个指针,指向的是数组.所以: 函数指针就是指向函数的指针.我们先看以下代码: <pre name="code" class="cpp">void fun() { } int main() { printf("%p",fun); printf("%p&quo

黑马程序员---C基础3【变量的易错】【程序结构】【if语句】【Switch语句】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [变量的易错] 1.变量为什么要初始化为0 int  sum,a=3: sum = sum+a 如果未初始化则会成为一个不确定的变量,结果也会不确定,容易出错. 2.不同类型的变量之间的转换 切记int  a=1,b=0:b=1-1.5:其中b为一个整型所有结果是保留整数部分的0,而不是-0.5,又因为0没有正负之分,所有保存结果为b=0: 3.关于Xcode的一个快速注释的插件 快捷键://

[SQLXML]FOR XML语法导出XML的易错之处

原文:[SQLXML]FOR XML语法导出XML的易错之处 [SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 2006-6-29 郑昀@Ultrapower 草稿 继续阅读之前,我们假设您熟悉以下知识: n         MS SQL Server 2000 n         Sp_makewebtask n         FOR XML 子句 如果不熟悉这些知识点,可以看下面两小节[准备工作一:FO

关于正则表达式的易错点

由于工作需要,在使用JavaScript过程中需要对输入参数做一些前端判断,所以接触到正则表达式.网上有很多教程可以学习参考,我只是初次接触,写一点自己的小结和遇到的易错点. 默认有一个TextBox,对其输入的内容进行检测var re=/^[0-9]$/i --只能输入一个数字var re=/^[0-9]/i --第一位是数字,后面任意字符且字符长度不限var re=/^[0-9]+/i --第一个是数字,后面字符任意.长度任意var re=/^[0-9]$/i --只能输入一个数字var r

集合框架中,引用数据类型对象集合的构建,易错点分析

先来个完整的效果代码:其目的创建5个学生对象,录入姓名与年龄的对象,并用集合将其遍历出来.易错点:1.如果不在学生对象中重写toString方法,那么在集合中就会出现,遍历出来后的arr{i}全部都是引用的对象地址,并不是对象.2.引用数据类型与基本数据类型最大的区别,引用数据类型要事先定义好各项属性与方法.要知道有参构造的作用是初始化方法里的属性.3.定义setname().getname().setage().getage()这四个方法,通过这四个方法来实现对name和age的操作.这样一来