2017-07-20 32 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)