首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CASE WHEN语句未返回false

CASE WHEN语句未返回false
EN

Stack Overflow用户
提问于 2016-12-16 23:19:54
回答 1查看 37关注 0票数 0

我正在尝试创建一个标志,当变量为match_flg = total_match_flg时显示1,否则返回0。

当我运行以下代码时

代码语言:javascript
运行
复制
proc sql;
create table xxxxxxx as
   select*,
  CASE
  when match_flg = total_match_flg then 1 else 0
  end as keep_flg
quit;

它返回全部为1,并且确定在数据集中,语句应该为false并返回一些0

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-12-16 23:33:54

是不是因为您没有使用from语句读取任何数据?我运行了类似的代码(添加了一个),它运行得很好。

编辑:包含我的测试数据;

代码语言:javascript
运行
复制
data test;
  do i = 1 to 10;
    match_flag = i;
    total_match_flag = 10-i;
    output;
  end;

  drop i;
run;

proc sql;
  create table x as 
  select *,
  case
  when match_flag = total_match_flag then 1 else 0
  end as keep_flg
  from test;
quit;

顺便提一下,case使用起来可能会很笨拙。相反,让我们看看IFC/IFN函数。http://www.lexjansen.com/wuss/2012/28.pdf

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41187454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档