【问题标题】:Removing single quotes on a column name in snowflake删除雪花中列名上的单引号
【发布时间】:2022-01-20 04:02:07
【问题描述】:

我在雪花中遇到了一个问题,

查询:

select 'name' as Name from profile

将输出返回为:

Name
________
name

name

name

name
.........

我真正需要的是

select name as Name from profile

这将返回我期望的正确输出

Name
______________
Ram

Kishore

Rohit............

如何删除 select 语句中列名的单引号?我知道从 name 中删除单引号很简单,但我的问题是 name 是在函数中传递的变量,它是 varchar

【问题讨论】:

  • 你能提供你传入变量的函数代码吗?在没有单引号的函数中生成查询应该很容易。

标签: sql select replace snowflake-cloud-data-platform


【解决方案1】:

'name' 是一个字符串,因此是一个常量,以及为什么它出现在每一行。

name 列将不带引号或通过双引号 "name" 引用。但这意味着有一个名为 name 的列。

默认情况下,在 Snowflake 中,如果不是双引号,所有标记都区分大小写,因为它们是大小写,其中双引号中的标记不会投影为大写形式(除非选项忽略双引号名称的大小写开启)。因此,如果您直接希望将名称 cloumn 输出为Name,那么您将需要使用name as "Name" 以避免它变成NAME

【讨论】:

    【解决方案2】:

    您可以尝试使用 IDENTIFIER 函数,下面页面底部有示例:

    https://docs.snowflake.com/en/sql-reference/identifier-literal.html

    您的示例将如下所示:

    select identifier('name') as Name from profile;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多