Shr*_*ini 3 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"."USERS";
Run Code Online (Sandbox Code Playgroud)
错误查询:
SELECT NAME, CREATED_ON, EMAIL, MUST_CHANGE_PASSWORD, EXPIRES_AT, PASSWORD_LAST_SET_TIME
FROM "SNOWFLAKE"."ACCOUNT_USAGE"."USERS"
WHERE "NAME" = "MYTESTUSER_1";
Run Code Online (Sandbox Code Playgroud)
错误:
SQL 编译错误:错误第 2 行位于位置 56 无效标识符“MYTESTUSER_1”
条款没有问题WHERE。对应的用户已存在。我也为其他一些用户检查过。同样的错误。
请帮忙。
在 Snowflake 在这方面遵循的标准 SQL 中,双引号代表标识符(列名、表名等)。在该子句的上下文中where,数据库将其理解"MYTESTUSER_1"为列的名称(显然,该列不存在),因此您会收到错误。
您需要一个文字字符串,因此您需要单引号。即改变:
WHERE "NAME" = "MYTESTUSER_1"
Run Code Online (Sandbox Code Playgroud)
到:
WHERE "NAME" = 'MYTESTUSER_1'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21752 次 |
| 最近记录: |