Presto SQL:使用作为查询结果的时区字符串更改时区不起作用

2023-11-23

我通过 Mode Analytics Platform 连接到 AWS Athena 并使用其查询引擎(基于 Presto 0.172 )查询表。这张表public.zones时区信息存储在名为的列中time_zone在我感兴趣的一些区域,存储为varchar.

例如,如果我输入:

SELECT time_zone 
FROM public.zones
LIMIT 4;

我得到(如预期):

time_zone
----------  
US/Pacific 
US/Eastern 
US/Eastern 
US/Eastern 

我可以运行这个测试查询:

SELECT 
  timestamp '2017-06-01 12:34:56.789' AT TIME ZONE 'US/Eastern' AS time_eastern,
  time_zone 
FROM public.zones
LIMIT 4;

我得到(如预期)

time_eastern                        time_zone
----------------------------------  ----------
2017-06-01 08:34:56.789 US/Eastern  US/Pacific
2017-06-01 08:34:56.789 US/Eastern  US/Eastern
2017-06-01 08:34:56.789 US/Eastern  US/Eastern
2017-06-01 08:34:56.789 US/Eastern  US/Eastern

现在,我想表示相同的时间字符串'2017-06-01 12:34:56.789'我从区域表中查询的不同时区。我期望运行以下查询。 (它在 PostgreSQL 上运行)。

SELECT 
  timestamp '2017-06-01 12:34:56.789' AT TIME ZONE time_zone AS time_custom,
  time_zone 
FROM public.zones
LIMIT 4;

我收到以下错误:

[Simba][AthenaJDBC](100071) An error has been thrown from the AWS Athena client. 
line 2:52: no viable alternative at input 'TIME ZONE time_zone'

在 Presto SQL/AWS Athena 查询引擎中不起作用的原因是什么?

任何人都可以建议任何解决方法或者我的语法错误(如果有)是什么?


AT TIME ZONE仅接受文字或间隔。

Presto 320 新增with_timezone (for timestamp值)at_timezone (for timestamp with time zone值)正是为了这个目的。

如果您使用的是较旧的 Presto 版本(例如撰写本文时的 Athena),则可以使用以下解决方法。您可以将时间戳值转换为varchar,与区域连接并投射到timestamp with time zone.

presto> select cast(cast(t as varchar) || ' ' || zone as timestamp with time zone)
  from (values (timestamp '2017-06-01 12:34:56.789', 'US/Pacific')) x(t, zone);
                    _col0
---------------------------------------------
 2017-06-01 12:34:56.789 America/Los_Angeles
(1 row)

(注意:在 Presto 320 上进行了测试。如果这在 Athena 上还不起作用,请告诉我。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Presto SQL:使用作为查询结果的时区字符串更改时区不起作用 的相关文章

  • 我可以从列 CHECK 约束调用用户定义的函数吗?

    我有一个返回 1 或 0 的用户定义的 SQL 函数 我想从列 CHECK 约束中调用它 是的 SQL Anywhere 没有布尔数据类型 因此您必须编写一个生成 TRUE FALSE 或 UNKNOWN 的谓词 换句话说 如果函数返回 1
  • JSF ConvertDateTime 与数据表中的时区

    尝试输出数据表中的项目列表 如下所示
  • PostgreSQL 8.3 中不为空且唯一约束的增量字段

    我有一个表 项目 其中有一列 位置 位置具有唯一且非空的约束 为了在位置 x 插入新行 我首先尝试增加后续项目的位置 UPDATE items SET position position 1 WHERE position gt x 这会导致
  • count(distinct) over (partition by... 在 Oracle SQL 中不起作用

    我想数一下distinct day number过去 30 天 但是 distinct 函数不能与over 如果我删除distinct 它会给我总数day number but day number可以有很多重复的 所以这就是为什么我想添加
  • 第一次如何配置postgresql?

    我刚刚安装了 postgresql 并在安装过程中指定了密码 x 当我尝试做的时候createdb并指定我收到消息的任何密码 createdb 无法连接到数据库 postgres 致命 用户密码身份验证失败 同样适用于createuser
  • 是否有任何理由使用 ZoneId.of("UTC") 而不是 ZoneOffset.UTC ?

    有什么理由使用ZoneId of UTC 代替ZoneOffset UTC 我们知道两者之间的区别 如ZoneOffset UTC 和 ZoneId of UTC 之间有什么区别 https stackoverflow com questi
  • Oracle SQL 列转行(无需 UNPIVOT)

    我目前拥有的 Team User Apples Oranges Pears Red Adam 4 5 6 Red Avril 11 12 13 Blue David 21 22 23 需要什么 Team User Product Count
  • 在 apex 中根据 2 种不同类型的用户进行自定义身份验证

    我有一种身份验证方案 目前仅验证用户是否在一个表中 即雇主表中 现在我希望这个身份验证方案来验证用户是雇主还是雇员 并且根据他们是雇主还是雇员 它应该将他们重定向到不同的页面 首先 我如何在身份验证脚本中包含第二个表 我最大的问题是 当员工
  • HQL:从 Eager 表中获取连接集合

    我有四张桌子 RootNode Will return multiple root nodes SubNode Will return one sub node per root node SubNodeChildren1 Will ret
  • 如果存在具有唯一值的行,则更新,否则插入

    我有一个 URL 表 他们包含 id int 主键 url 字符不同 唯一 内容特征各不相同 最后分析日期 我想创建触发器或其他东西 规则可能是 因此每次我从 java 程序中进行插入时 如果存在具有此类 URL 的行 它就会更新一些单行
  • PostgreSQL 自定义异常条件

    当我提出异常时是否可以创建自定义条件 考虑以下示例 BEGIN y x 0 EXCEPTION WHEN division by zero THEN RAISE NOTICE caught division by zero RETURN x
  • T-SQL:检查电子邮件格式

    我有这样的场景 我需要物理数据库中的数据完整性 例如 我有一个变量 email address VARCHAR 200 我想检查一下值是否为 email address是电子邮件格式 有人知道如何检查 T SQL 中的格式吗 非常感谢 我使
  • Sails.js + Postgres:交易问题

    我试图使用 Postgres 作为数据库在 Sails 0 10 5 中实现事务 但操作最终没有提交 或回滚 这是我作为测试写下的一个简单的事务场景 使用 async js testTransaction function uri var
  • 对于 IN 列表中的缺失值返回 NULL

    我有一个这样的表 id val 1 abc 2 def 5 xyz 6 foo 8 bar 和一个像这样的查询 SELECT id val FROM tab WHERE id IN 1 2 3 4 5 返回 id val 1 abc 2 d
  • postgresql to_json() 函数转义所有双引号字符

    我编写了一个 plpgsql 脚本 它在字符串中生成一个 json 对象数组 但是在我使用 to json 方法将带有该字符串的变量传递给它之后 它返回一个带双引号的结果 并且每个双引号字符都被转义 但我需要原样的字符串 jsonResul
  • 如何从 PostgreSQL 数据库中删除表*或*视图?

    我在 PostgreSQL 数据库中有一个表或视图的名称 需要在单个 pgSQL 命令中删除 我怎样才能负担得起 我能够选择表单系统表来查找是否有任何具有此类名称但仍保留程序部分的表 SELECT count FROM pg tables
  • 是否可以将普通表与临时表进行左外连接?

    我创建 SQL Server 查询并有一个包含记录的普通表 另一方面有一个包含记录的临时表 该表不为空 并且所有字段都没有任何冲突 加入 可以连接这两个不同类型的表吗 SELECT NormalTable Entityname FROM N
  • 测试正确的时区处理

    我们正在处理大量数据 所有数据均以 UTC Java 语言 标记 在读取这些数据 将其存储在数据库中以及再次将其取出之间 发生了一些数据在夏令时期间关闭一小时的情况 由于 UTC 没有夏令时的概念 这显然是软件中的一个错误 一旦知道 就很容
  • 使用 min(datetime) 了解 SQL Server 行为

    长话短说 这只是我的一个愚蠢的假设 我确信一个专栏是一个日期时间 但它不是 所以不要指望在这个问题中找到任何有趣的东西 把它留在这里 以便民主党得到他的正确接受回答 我写了一个像这样的简单查询 SELECT ID MIN DateMadeA
  • PHP/MySQL - 在数据库中存储数组

    我正在开发一个 PHP 应用程序 它需要将各种设置存储在数据库中 客户经常询问是否可以添加或更改 删除某些内容 这导致了表格设计出现问题 基本上 我有很多布尔字段 它们只是指示是否为特定记录启用了各种设置 为了避免再弄乱表格 我正在考虑将数

随机推荐

  • Angular 2,使用 href='#' 处理锚链接

    单击任何带有href Angular 路由器路径 path component NologinComponent pathMatch full 是匹配的 我应该如何处理这些锚链接以便锚与href 停留在同一页面 即什么都不做 锚标记示例 a
  • 是否可以在 Azure 应用服务上安装字体?

    我们正在使用 MigraDoc PDFsharp GDI 它依赖于将字体安装到系统中以便进行渲染 我们尝试过嵌入字体 但 MigraDoc 的 GDI 版本似乎不支持此功能 尝试将此组件移动到 Azure 应用服务时 它找不到字体 有没有办
  • 如何在 PyCharm 的运行/调试配置中将环境变量作为命令行参数传递?

    我正在尝试学习 PyCharm 需要将环境变量作为命令行参数传递给我的进程 例如执行相当于myScript py u myVar在 Linux 上 或者myScript py u myVar 在 Windows 上 如何在 PyCharm
  • 如果从静态构造函数启动并等待空的 .NET 任务,为什么不会完成?

    我不明白为什么下面的代码不起作用 var task new Task gt task Start if task Wait 10000 logger Info Works else logger Info Doesn t work 超时后
  • UIBarButtonItem 图标通过 IB 添加时为白色,以编程方式添加时为黑色

    当我将图标添加到UIBarButtonItem通过 Interface Builder 该图标显示为白色 当我以编程方式将相同的图标文件添加到另一个图标文件时UIToolbar 图标显示为黑色 为什么 UIImage image UIIma
  • Tesseract OCR:是否可以强制使用特定模式?

    我正在使用 Tesseract 我想开发一个能够识别字符序列的应用程序 我取得了不错的成绩 但并不出色 我想读取的字符序列有always一个特定的模式 比方说 数字数字数字字符字符 例如 123AB 有没有办法 告诉 ocr引擎结构始终是固
  • C# 理论:将 JMP 写入 asm 中的 codecave

    假设我已经使用以下命令分配了放置我的 codecave 的地址VirtualAllocEx 它返回地址 我使用以下命令将代码写入该地址WriteProcessMemory 这是问题 如何编写跳转到我的 Codecave 的跳转 我知道跳跃开
  • 按钮显示内联CSS

    我有以下 CSS 和 HTML http jsfiddle net 47w0h73r 6 one padding 20px background f00 two padding 20px background 00f a button fo
  • Jenkins 主/从配置

    我一直在阅读有关 Jenkins 主 从配置的信息 但我仍然有一些问题 是不是从机 Jenkins 并没有像主机 Jenkins 那样实际安装和启动 我假设我会以相同的方式安装一个主詹金斯和另一个从詹金斯 然后主詹金斯将控制从詹金斯 例如通
  • Visual Studio 2015 输出窗口丢失

    缺少显示 Visual Studio 中所有构建消息的输出窗口 我无法使用视图菜单将其恢复 我尝试了安全模式和诊断模式 然后重新启动了一切 怎样才能把窗户找回来 去引用MSDN 在 Visual Studio Express 版本中 输出
  • Rtti 访问复杂数据结构中的字段和属性

    正如已经讨论过的Delphi 2010 中的 Rtti 数据操作和一致性可以通过使用一对 TRttiField 和实例指针访问成员来达到原始数据和 rtti 值之间的一致性 对于仅具有基本成员类型 例如整数或字符串 的简单类 这将非常容易
  • 具有属性包装器的不可用属性

    我正在开发一个支持 iOS 14 及更高版本的应用程序 但我想使用一些 SwiftUI 3 属性包装器 例如 FocusState 我该如何解决这个问题Stored properties cannot be marked potential
  • D3.js v3 到 v4 刷机改动

    我希望从 d3v3 迁移到 d3v4 特别是我在迁移画笔时遇到困难 有人可以查看下面的链接并让我知道更改吗 http bl ocks org zanarmstrong ddff7cd0b1220bc68a58 我发现了一些变化 d3 tim
  • 为 MAUI Visual Studio 2022 安装 Android 工作负载时出现问题

    我已按照以下说明安装了 Visual Studio 2022 Preview 4 1 https learn microsoft com en us dotnet maui get started installation 我启动了一个新的
  • 如何检查输入是否为二进制格式(1 和 0)?

    我已经制作了一个程序 但是如果用户输入不是二进制格式 我想添加一个例外 我已经尝试了很多次添加例外 但似乎无法让它工作 下面是程序代码 如果有人可以提供帮助 我将不胜感激 import time error True n 0 while n
  • makefile 中的错误:_start 的多个定义

    我尝试编写一个makefile CC g LD ld CFLAGS Wall std c 0x O3 LDFLAGS lgsl lgslcblas lpthread SOURCES main cpp OBJECTS SOURCES cpp
  • 使用 jdbc 和 oracle 驱动程序时结果集的存储位置

    一旦我将jdbc与oracle驱动程序一起使用并运行select查询 查询的结果是否存储在oracle内存或文件系统或临时表的服务器中 一旦我通过获取下一行来运行下一个方法 它是否会从 oracle 服务器内存加载到 jvm 内存 如果我将
  • 如何使用 Jest 和 Enzyme 模拟 React 组件生命周期方法?

    完整 DOM 渲染的 Enzyme 文档here包含以下使用 Sinon 监视生命周期方法的示例 describe
  • ffmpeg:连接视频和图像

    我有 2 个视频 相同的分辨率 相同的编码 文件 我想要连接它们 并且我想在它们之间插入一些文本 3 秒 作为分割器 我在 Windows 上使用 ffmpeg 执行此操作 我感兴趣的可选想法 避免在此过程中重新编码视频 在每个部分的交叉处
  • Presto SQL:使用作为查询结果的时区字符串更改时区不起作用

    我通过 Mode Analytics Platform 连接到 AWS Athena 并使用其查询引擎 基于 Presto 0 172 查询表 这张表public zones时区信息存储在名为的列中time zone在我感兴趣的一些区域 存