from_unixtime(cast(utc_to_timestamp(one.time/1000,'GMT-8')as bigint),'yyyy-MM-dd')不能识别one . /
时间: 2024-04-23 20:26:00 浏览: 75
根据你提供的信息,我猜测你使用的是 SQL 语言,其中 one 是一个表的别名。在这个 SQL 语句中,你想要将 one 表中的时间戳转换为本地时间,并将其格式化为字符串。但是,你的 SQL 语句中出现了语法错误。
可能的原因是,你没有在 SQL 语句中正确地引用 one 表的列名。请检查你的 SQL 语句,确保你在引用 one 表的列名时使用了正确的语法,并且该列名存在于 one 表中。另外,你的 SQL 语句中似乎缺少一个表名或者别名,导致无法识别 one。
如果你能提供更多的信息,例如完整的 SQL 语句和表结构,我可以更准确地帮助你解决问题。
相关问题
beeline -e ‘from_unixtime(cast(utc_to_timestamp(one.time/1000,'GMT-8')as bigint),'yyyy-MM-dd') ’ 不能识别one . /
你的 beeline 命令中出现了语法错误。在 SQL 语句中引用表的列名时,需要使用正确的语法,例如 `表名.列名` 或 `表别名.列名`。在你的 SQL 语句中,你使用了表别名 one,但是没有指定该别名所对应的表,因此出现了语法错误。
以下是一个示例 SQL 语句,其中使用了表别名 one,并指定了该别名所对应的表:
```
SELECT from_unixtime(cast(utc_to_timestamp(one.time/1000,'GMT-8')as bigint),'yyyy-MM-dd')
FROM my_table one;
```
在这个示例中,表别名 one 对应的是表 my_table,因此可以正确地引用 one.time 列。
请根据你的实际情况修改 SQL 语句,并确保使用正确的语法引用表的列名。
beeline -e "SELECT from_unixtime(cast(utc_to_timestamp(one.time/1000,'GMT-8')as bigint),'yyyy-MM-dd') FROM my_table one;" 不能识别one . /,但使用beeline -f 就可以执行
根据您提供的信息,我可以初步判断是因为在beeline命令行中,使用-e参数后跟的是一个字符串,而不是一个文件,因此无法使用one变量。
而在使用-f参数时,beeline会读取指定的脚本文件,并将其中的内容作为输入,因此可以使用one变量。
如果您仍然想使用-e参数,并且需要使用变量,可以尝试在字符串中使用双引号,例如:
beeline -e "SELECT from_unixtime(cast(utc_to_timestamp(\${one}.time/1000,'GMT-8')as bigint),'yyyy-MM-dd') FROM my_table;" --hivevar one=one
其中--hivevar参数指定了要传递给查询的变量one,并将其设置为one。在查询中,可以使用${one}来引用该变量。
阅读全文