Redshift中保留字TIME作为列名的查询语法问题
解决Redshift中使用保留字作为列名的查询错误
当列名是Redshift的保留字(比如TIME)时,直接调用会触发语法错误,需要用双引号将列名包裹起来。同时原查询中的日期写法2023-1-9会被解析成数学运算(2023减1减9),必须将日期值用单引号包裹,确保被识别为日期类型。
修改后的正确查询语句:
SELECT customerID FROM tableA WHERE "TIME" = '2023-01-09' AND customerID IS NOT NULL;
关键说明:
- 用双引号包裹保留字列名:Redshift要求对保留字标识符使用双引号,这样引擎会将其识别为列名而非关键字。
- 日期值加单引号:日期类型的常量必须用单引号括起来,避免被解析为算术表达式。
内容的提问来源于stack exchange,提问作者Day Lee
相关产品推荐
相关产品推荐

