SQL编译错误:位置56处的错误行2无效标识符
我需要一些帮助来解决错误。我已使用ACCCOUNTADMIN角色登录到Snowflake(也用于工作表)。我可以在不添加WHERE子句的情况下成功运行查询。当我添加WHERE子句时,它抛出错误。以下是两个问题 成功查询:SQL编译错误:位置56处的错误行2无效标识符,sql,string,where-clause,snowflake-cloud-data-platform,Sql,String,Where Clause,Snowflake Cloud Data Platform,我需要一些帮助来解决错误。我已使用ACCCOUNTADMIN角色登录到Snowflake(也用于工作表)。我可以在不添加WHERE子句的情况下成功运行查询。当我添加WHERE子句时,它抛出错误。以下是两个问题 成功查询: SELECT NAME, CREATED_ON, EMAIL, MUST_CHANGE_PASSWORD, EXPIRES_AT, PASSWORD_LAST_SET_TIME FROM "SNOWFLAKE"."ACCOUNT_USAGE&qu
SELECT NAME, CREATED_ON, EMAIL, MUST_CHANGE_PASSWORD, EXPIRES_AT, PASSWORD_LAST_SET_TIME
FROM "SNOWFLAKE"."ACCOUNT_USAGE"."USERS";
错误查询:
SELECT NAME, CREATED_ON, EMAIL, MUST_CHANGE_PASSWORD, EXPIRES_AT, PASSWORD_LAST_SET_TIME
FROM "SNOWFLAKE"."ACCOUNT_USAGE"."USERS"
WHERE "NAME" = "MYTESTUSER_1";
错误:
SQL编译错误:位置56处的错误行2无效标识符“MYTESTUSER_1”
WHERE
子句没有问题。相应的用户已存在。我也检查了一些其他用户。同样的错误
请提供帮助。在标准SQL中,双引号代表标识符(列名、表名等),Snowflake紧随其后。在
where
子句的上下文中,数据库将“MYTESTUSER_1”
理解为一个列的名称(显然不存在),因此会出现错误
您需要一个文本字符串,因此需要单引号。即改变:
WHERE "NAME" = "MYTESTUSER_1"
致:
在标准SQL中,双引号代表标识符(列名、表名等),Snowflake就是这样做的。在
where
子句的上下文中,数据库将“MYTESTUSER_1”
理解为一个列的名称(显然不存在),因此会出现错误
您需要一个文本字符串,因此需要单引号。即改变:
WHERE "NAME" = "MYTESTUSER_1"
致:
非常感谢。那是我这边的愚蠢错误。我想从单引号和双引号中找出答案。谢谢。那是我这边的愚蠢错误。我想从单引号和双引号中找出答案。