问题描述
我需要小的帮助来解决错误。我已经以ACCCOUNTADMIN角色(也适用于工作表)登录到SNowflake。不添加WHERE子句时,我可以成功运行查询。当我添加WHERE子句时,它将引发错误。这是两个查询。
成功查询:
SELECT NAME,CREATED_ON,EMAIL,MUST_CHANGE_PASSWORD,EXPIRES_AT,PASSWORD_LAST_SET_TIME
FROM "SNowFLAKE"."ACCOUNT_USAGE"."USERS";
SELECT NAME,PASSWORD_LAST_SET_TIME
FROM "SNowFLAKE"."ACCOUNT_USAGE"."USERS"
WHERE "NAME" = "MYTESTUSER_1";
错误:
WHERE
子句没有问题。对应的用户已存在。我也检查了其他一些用户。同样的错误。
请帮助。
解决方法
在Snowflake为此遵循的标准SQL中,双引号代表标识符(列名,表名等)。在where
子句的上下文中,数据库将"MYTESTUSER_1"
理解为列名(显然不存在),因此会出现错误。
您需要文字字符串,因此需要单引号。也就是说,更改:
WHERE "NAME" = "MYTESTUSER_1"
收件人:
WHERE "NAME" = 'MYTESTUSER_1'