2017-07-20 31 views
1

有谁能告诉我为什么这条线不起作用吗?这是一个宏观数据。为什么IF语句在WHERE不起作用时

其中1 * substr(Sample_ID,6,6)< 201704; (错误:where子句需要数字bla bla)

而if语句的作用相同。

if 1 * substr(Sample_ID,6,6)< 201704;

+1

不知道为什么你正在做的转换,反正。 substr(sample_id,6,6)<'201704''的工作方式也是一样的(同样有很多潜在的问题......) – Joe

回答

5

A where子句无法执行隐式转换(数字转换为字符,反之亦然),而datastep中的if语句可以执行该转换。

where条款应改为:

where=(input(substr(Sample_ID,6,6),8.) < 201704)