这是我的代码示例。
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;