Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL编译错误:位置56处的错误行2无效标识符_Sql_String_Where Clause_Snowflake Cloud Data Platform - Fatal编程技术网

SQL编译错误:位置56处的错误行2无效标识符

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

我需要一些帮助来解决错误。我已使用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, 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"
致:


非常感谢。那是我这边的愚蠢错误。我想从单引号和双引号中找出答案。谢谢。那是我这边的愚蠢错误。我想从单引号和双引号中找出答案。