如何在 athena 上的字符串数据类型上提取月份名称

2023-12-30

SELECT sales_invoice_date,
       MONTH( DATE_TRUNC('month',
                         CASE
                           WHEN TRIM(sales_invoice_date) = '' THEN
                           DATE('1999-12-31')
                          ELSE
                           DATE_PARSE(sales_invoice_date, '%m/%d/%Y')
                         END) ) AS DT
  FROM testdata_parquet

我使用上面的查询将字符串转换为日期,并能够在 AWS athena 上获取月份编号,但无法获取相应的月份名称

我已经尝试过了monthname and datename('month', ...)但他们分别给出了以下错误信息:

SYNTAX_ERROR:第 2:1 行:函数月份名称未注册

SYNTAX_ERROR:第 2:1 行:函数datename未注册


Athena 目前基于 Presto .172,因此您应该参考https://trino.io/docs/0.172/functions/datetime.html https://trino.io/docs/0.172/functions/datetime.html有关日期/时间值的可用函数。

您可以使用以下方式获取月份名称date_format() https://trino.io/docs/0.172/functions/datetime.html#date_format:

date_format(value, '%M')

或类似地format_datetime() https://trino.io/docs/0.172/functions/datetime.html#format_datetime.

format_datetime(value, 'MMM')

Example:

presto:default> SELECT date_format(current_date, '%M');
  _col0
----------
 December
(1 row)

(已在 Presto 327 上验证,但也适用于 Athena)

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

如何在 athena 上的字符串数据类型上提取月份名称 的相关文章

  • 使用临时表替换 WHERE IN 子句

    我让用户输入我需要在表中查询的值列表 该列表可能非常大 并且长度在编译时未知 而不是使用WHERE IN 我认为使用临时表并对其执行联接会更有效 我在另一个SO问题中读到了这个建议 目前找不到它 但会在找到时进行编辑 要点是这样的 CREA
  • T-SQL - 字符串连接

    希望有人可以提供帮助 我是一个新手 SQL 黑客 而且确实很糟糕 我在 SQL Server 2005 上有两个表 TABLE 1 和 TABLE2 TABLE1 COL1 COL2 1 10 2 20 3 30 4 10 4 20 5 2
  • REPLACE MYSql 中的新行字符不起作用

    我执行了以下查询 由于某种原因它没有替换数据库中的换行符 它说 Rows matches 1 但没有变化 有什么问题吗 mysql gt UPDATE aboutme SET abouttext REPLACE abouttext n WH
  • 分组依据检索 3 个值

    我有以下查询 SELECT Cod MIN Id AS id Min MAX Id AS id Max retrieve value in the middle COUNT AS Tot FROM Table a NOLOCK GROUP
  • 如何获取共同好友列表

    你好 我想知道如何才能找到共同的朋友 我目前在思考这个问题时遇到问题 我有一个名为 users 的表 它是这样的 id name 1 Kenny 2 Jack 3 Jimmy 4 Chris 5 Meg 6 Jake 7 Micheal 8
  • Postgres 上的 C 语言环境和 Posix 语言环境有什么区别?

    我知道 Postgres 上的数据库区域设置负责国家字符的正确顺序 正确的小写 大写等 但为什么有两种语言中立的语言环境 posix and c 它们之间有什么区别 还是只是一个中立的语言环境有两个不同的名称 UPDATE正如 Magnus
  • SQL注入方法

    注射程序是 SELECT UserId Name Password FROM Users WHERE UserId 105 or 1 1 但是 我的问题是注入查询在 sql 中是如何工作的 当你在代码中将查询作为字符串时 就像这样 Quer
  • 删除或更改 ETL 中的记录

    我有一个表 我在上面构建了 ETL 服务 货物记录 到达 离开 进入表格 我已经这样做了 我的桌子将被删除 当项目标识符第二次到达数据库时 两条记录都被删除 label cost time x2 29 14 5 2020 01 00 00
  • 如何比较 Postgresql 中日期时间字段中的日期?

    在比较 postgresql Windows 中的版本 9 2 4 中的日期时 我遇到了一个奇怪的情况 我的表中有一列说update date与类型timestamp without timezone 客户可以仅使用日期搜索此字段 例如 2
  • 选择每组最新的项目[重复]

    这个问题在这里已经有答案了 可能的重复 检索每组中的最后一条记录 https stackoverflow com questions 1313120 retrieving the last record in each group 我有 2
  • 我想从 Crystal Report .rpt 文件中提取 SQL 查询,有办法做到这一点吗?

    我想从 Crystal Report rpt 文件中提取 SQL 查询 有办法做到这一点吗 我没有任何 Crystal Reports 产品 只有 rpt 文件 下面是一个 Net 代码示例 它从给定目录中的所有 Crystal Repor
  • 查询从同一表中的另一条记录获取值并按大于间隙阈值的差异进行过滤

    我将数据导入到 MS Access 中的临时表中 如下所示 我添加了需要使用 SQL 查询计算的 Gap 和 Previous Current 列 间隙阈值 是用户输入或范围提供给查询和例如是 300 GlobalID 对 ItemID 进
  • 从 SQL Server 中的子查询值或其他聚合函数获取平均值

    我有 SQL 语句 SQL Server SELECT COUNT ActionName AS pageCount FROM tbl 22 Benchmark WHERE DATEPART dw CreationDate gt 1 AND
  • 如何使用 Alter Table 在 Access 中创建小数字段?

    我想以编程方式在 MS Access 表中创建一个新列 我尝试过很多排列ALTER TABLE MyTable Add MyField DECIMAL 9 4 NULL 并得到 字段定义中的语法错误 我可以轻松创建一个数字字段Double类
  • oracle lag 函数与 group by

    我有一个查询忽略从前一个值增加的值 例如 采用下表 col1 col2 col3 5 1 A 4 2 A 6 3 A 9 4 B 8 5 B 10 6 B 现在进行以下查询 select col1 from select col1 lag
  • 删除前导零

    给定列中的数据 如下所示 00001 00 00026 00 我需要使用 SQL 删除空格后面的所有内容以及值中的所有前导零 以便最终输出为 1 26 我怎样才能最好地做到这一点 顺便说一句 我正在使用 DB2 这已在 DB2 for Li
  • C# 查询两个数据库的数据

    我目前有一个查询 我正在从两个不同的数据库获取数据 这些数据被附加到一个名为 accountbuys 的列表中 我的第一个表有三个数据条目 3个想要购买股票的帐户 下一张表有 17 个数据点 购买 17 只股票 I am merging t
  • SQL查询获取最后两条记录的DateDiff

    我有一个名为 Event 的表 其中 eventNum 作为主键 日期作为 SQL Server 2008 R2 中的 datetime2 7 我试图获取表中最后两行的日期并以分钟为单位获取差异 这就是我目前所拥有的 Select DATE
  • SQL Like 带有子查询

    我怎样才能做到这一点 SELECT FROM item WHERE item name LIKE SELECT equipment type FROM equipment type GROUP BY equipment type 内部子查询
  • 从 $i 获取值,顺序被打乱

    for i 0 i lt count name i some output ommited td td

随机推荐

  • 计算符合条件的数组元素个数

    我有一个名为 conference 的 mongoDB 集合 其参与者如下 id 5b894357a0c84d5a5d221f25 conferenceName myFirstConference startDate 1535722327
  • 提取括号内字符串的内容

    我有以下字符串 string Will Ferrell Nick Halsey Rebecca Hall Samantha Michael Pena Frank Garcia 我想以以下形式创建一个元组列表 actor name chara
  • AWS:专用主机VS专用实例,为什么前者比后者贵?

    我正在准备 AWS 的助理架构师考试 但找不到这个问题的解释 为什么专用主机比专用实例贵 我理解两者之间的主要区别 只是在我的大脑中它没有意义 这是我的观点 如果你要求一个专用主 机 你就可以控制整个硬件 CPU RAM 插槽等 您可以使用
  • 微服务架构:跨服务数据共享

    考虑在线商店项目的以下微服务 用户服务保留有关商店用户的帐户数据 包括名字 姓氏 电子邮件地址等 购买服务跟踪有关用户购买的详细信息 每个服务都提供一个用于查看和管理其相关实体的 UI 购买服务索引页面列出了购买情况 每个采购项目应具有以下
  • 如何在 .cargo/config 文件中使用环境变量?

    我在用着 cargo config像这样 target arm linux androideabi linker home rico android ndk r13b toolchains arm linux androideabi 4 9
  • iframe加载后如何隐藏父垂直滚动条?

    我已附上演示该问题的示例代码 我正在 Firefox 3 5 7 中检查这一点 问题是父级 HTML 有一个滚动条 并且它加载一个全屏的 iframe 高度 100 宽度 100 我希望在加载 iframe 后删除父级滚动条 1 这可以吗
  • 在 TypeScript 中迭代接口属性

    我需要将接口属性映射到对象 interface Activity id string title string body string json Object 我目前正在做 headers Array text id value id te
  • ASP.NET MVC2 中的正确错误处理

    我在基本控制器中有一个覆盖 OnException ExceptionContext filterContext 来捕获应用程序中的任何错误 然后记录它们 我在应用程序中遇到的问题是 此特定方法因某些错误而被触发四次 我将引导您完成一个场景
  • 使用多个模型获取进行主干视图渲染

    我需要在带有主干的 html 模板中使用 1 个模型和 1 个集合 但有时 html是在模型之后准备好的 我有 var FormUtilisateurView Backbone View extend initialize function
  • 嵌套集合、php 数组和转换

    我需要将我的嵌套集结构 mysql 转换为这个空间树的json 1 http blog thejit org wp content jit 1 0a examples spacetree html http blog thejit org
  • 从后台线程更新 BindingList<>?

    我想知道如何使用 WPF 中的 Dispatcher 从另一个线程安全地更新我的 BindingList 集合 我也愿意接受其他解决方案 非常感谢 卡韦 我更喜欢安排一个Task到 UI 线程 您可以通过调用获取 UI 线程调度程序Task
  • SpecFlow:ClassInitialize 和 TestContext

    首先 我是 SpecFlow 的新手 我有一个功能文件 我已经 想要使用 MSTest 自动运行它作为功能测试 涉及完全设置的服务器 数据访问 为此 我必须使用 SpecFlow 的 Given 块中的数据配置服务器 然后启动它 我还必须将
  • 是否可以强制 Hibernate 嵌入实体?

    在我的用例中 我想 Embedded一类C在一个实体中 另一个实体指的是C with OneToMany协会 因此C注释为 Entity 我知道这似乎是糟糕的设计 但我相信这对我的情况来说非常有意义 是否可以强制 Hibernate 嵌入实
  • Jest 测试中的“requestAnimationFrame”polyfill 错误

    升级到 React 后运行 Jest 单元测试时出现此错误 React depends on requestAnimationFrame Make sure that you load a polyfill in older browser
  • 从中心和半径创建 SqlGeography 多边形圆

    我想使用 C 在 sql server 2008 地理字段中保存一个圆圈 在 C 中 我有纬度 经度和半径 但我找不到一种方法来计算代表圆的多边形并创建一个SqlGeography从中 我尝试使用以下函数来创建多边形 private Lis
  • 使用数据收集器 UDC 的替代品?

    由于 UDC 是不再支持 http wiki eclipse org UDC或者 Eclipse 的一部分 我想知道是否有替代品 我想获得有关我们的用户组如何实际使用 Eclipse 的更多信息 以便积极主动地尝试改善他们的环境 我想收集的
  • 使用小米5 MIUI 8 Android Studio进行调试

    我无法从 Android Studio 启动应用程序 当我单击 运行 时 我选择我的设备 并且出现以下消息 但事实并非如此 该应用程序未安装在设备中 在 运行 控制台中 出现以下内容 04 22 15 53 08 Launching app
  • WScript.Shell Exec 的实时控制台输出

    我花了一天的大部分时间寻找解决方案 我开始认为这可能无法满足我的要求 我的基本设置是运行从 Excel VBA 代码调用的 vbscript vbs vba 代码必须继续运行并保持 vbscript 运行 但会不时使用以下命令对其进行监视E
  • 每次进行更改时回收应用程序池

    我制作了一个多语言网站 其中在同一网站上包含 4 个域 因此也包含 4 种不同的语言和网站树 但是 每次我需要发布对网站的新更改或其他更改 例如更新模板 脚本等 时 我都必须回收应用程序池 以使更改在以访问者身份查看网站时显示 我该如何解决
  • 如何在 athena 上的字符串数据类型上提取月份名称

    SELECT sales invoice date MONTH DATE TRUNC month CASE WHEN TRIM sales invoice date THEN DATE 1999 12 31 ELSE DATE PARSE