使用TIME构建案例陈述



这是我的代码示例。

PROC SQL;
CREATE TABLE SUCCESS_TIME_INTERVALS AS
SELECT
A.*,
CASE 
WHEN A.TIME BETWEEN  9:00:00 AND 11:00:00 THEN '9AM_11AM'
WHEN A.TIME BETWEEN 11:00:00 AND 13:00:00 THEN '11AM_1PM'
ELSE 'OTHER' END AS TIME_INTERVALS
FROM TABLE1 A
;QUIT; 

运行代码时出现此错误

错误

22-322:语法错误,预期出现以下错误之一:!, *、**、 +, -,/, 和, ||.

错误

76-322:语法错误,语句将被忽略。

不知道如何解决这个问题。

非常感谢

时间常量需要单引号:

PROC SQL;
CREATE TABLE SUCCESS_TIME_INTERVALS AS
    SELECT A.*,
           (CASE WHEN A.TIME BETWEEN '09:00:00' AND '11:00:00' THEN '9AM_11AM'
                 WHEN A.TIME BETWEEN '11:00:00' AND '13:00:00' THEN '11AM_1PM'
                 ELSE 'OTHER'
            END) AS TIME_INTERVALS
    FROM TABLE1 A;
QUIT; 

显然,如果time不是字符串,那么你需要适当地表达常量:

PROC SQL;
CREATE TABLE SUCCESS_TIME_INTERVALS AS
    SELECT A.*,
           (CASE WHEN A.TIME BETWEEN '09:00:00't AND '11:00:00't THEN '9AM_11AM'
                 WHEN A.TIME BETWEEN '11:00:00't AND '13:00:00't THEN '11AM_1PM'
                 ELSE 'OTHER'
            END) AS TIME_INTERVALS
    FROM TABLE1 A;
QUIT; 

最新更新