我不知何故最终在我们的数据湖中得到了一个表,其中列名称是“CURRENT_DATE”
雪花允许创造
create or replace TABLE TEST (
"current_date" DATE
);
现在我很难弄清楚如何在 WHERE 子句或 CASE 语句中使用此字段。
select * from TEST where "current_date" ='2027-10-01' limit 10;
它给出了一个错误
错误:无效标识符“current_date”(第 x 行)
有没有办法查询这个字段?如果没有,为什么雪花甚至允许创建一个名为“current_date”的列!
(这本来可以放在评论中,但我没有足够的声誉来发布评论)
奇怪的是,所提供的查询确实对我来说是开箱即用的。您是否碰巧将
QUOTED_IDENTIFIERS_IGNORE_CASE
设置为 TRUE
(尝试 SHOW PARAMETERS LIKE 'QUOTED_IDENTIFIERS_IGNORE_CASE'
)?不管怎样,限定表名确实允许我检索列中的值,不管怎样:
select * from TEST t where t."current_date" ='2027-10-01' limit 10;