从 Bigquery 中的时间戳提取日期:一种更好的方法

2023-12-08

向 Bigquery 专家提出一个简短的问题。

以下是使用标准 SQL 从 Bigquery 中的时间戳中提取日期的两种方法

#standardSQL
#1
DATE(TIMESTAMP_MILLIS(CAST((timestamp) AS INT64)))
#2
EXTRACT(DATE FROM TIMESTAMP_MILLIS(timestamp))

哪一种更可取,为什么?谢谢!


这实际上取决于个人喜好;一个并不优于另一个,因为它们具有相同的语义和性能。赞成使用的论点EXTRACT是,如果您在选择列表中提取其他日期/时间部分,它会镜像它们。例如:

SELECT
  EXTRACT(DATE FROM TIMESTAMP_MILLIS(timestamp)) AS date,
  EXTRACT(ISOYEAR FROM TIMESTAMP_MILLIS(timestamp)) AS iso_year,
  EXTRACT(ISOWEEK FROM TIMESTAMP_MILLIS(timestamp)) AS iso_week
FROM YourTable;

相比:

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

从 Bigquery 中的时间戳提取日期:一种更好的方法 的相关文章

随机推荐

  • Lua中获取随机数的其他方法

    我正在寻找一种替代方法来在Lua中获取一个介于最小和最大数字之间的随机数 而不使用math random 有什么办法吗 它不一定是一个简单的方法 就像评论所暗示的那样 在类 Unix 系统上 您可以从中读取字节 dev random or
  • 如何转换 Oracle 中的“旧版”左外连接语句?

    我在 Oracle 数据库中有两个表 A 和 G 可以根据帐号将它们连接在一起 需要注意的是 其中一个表 G 的记录比另一个表少大约 80 条 当我一起查询两个表时 我需要获取所有行 以便我们在缺失的 80 行的列中看到 NULL 数据 我
  • 科尔多瓦中的文件大小函数

    也许这是一个简单的问题 但我已经搜索了两天 但找不到答案 我正在科尔多瓦开发一个文件管理器只是为了学习科尔多瓦插件文件 我使用此函数获得了文件夹中的文件列表 window resolveLocalFileSystemURL cordova
  • 量角器 - 无法读取未定义的属性“$$testability”

    我收到一条错误 内容如下 Error while waiting for Protractor to synce with the page Cannot read property testability of undefined 下面是
  • Scala - 用特定文本替换 xml 元素

    所以我有这个XML a blah a 我想把它改成 a someValueIDoNotKnowAtCompileTime a 目前 我正在看这个问题 然而 这只是将值更改为 2 我想要的是完全相同的东西 但是能够定义值 以便它可以在运行时更
  • 从主机名获取域名扩展

    Extract 域名扩展 e g com 不是使用正则表达式从主机名中获取的域名 例如 google com 输入 gt 输出 www google com gt com google com gt com google co uk gt
  • 在 AWS AppSync 中对 SQL 查询的 JSON 对象进行字符串化

    Question 如何在 Appsync 速度模板中对 SQL 语句的 JSON 对象进行字符串化 解释 我有一个 Aurora RDS 表 其中有一列数据类型为 JSON AppSync API 已连接到 RDS 我的 GraphQL 模
  • 将一个数据表的列添加到另一个数据表

    嘿 所有人都需要一点帮助来排序这个表的循环 似乎无法将工作示例应用于模型 无论如何 它就在这里 我有 2 个数据表 每个数据表都有不同的数据和不同的值 唯一的共同值是日期 第一个表包含我想要的所有内容 除了一列值 来自另一个表 因此我需要将
  • 在现有 geom_sf 图层下方插入 geom_sf 图层

    我有一张印度的基本地图 其中包含州和边界 一些标签以及存储为 gg 对象的许多其他规范 我想生成许多带有区域图层的地图 这些地图将承载来自不同变量的数据 为了防止地区地图覆盖州和国家边界 它必须位于之前所有代码之前 我想避免重复 我想我可以
  • 法律散文使用 Corda

    这是之前回答的后续问题法律散文乔尔提出的问题 根据要求创建了单独的问题 LegalProseReference uri foo bar com my legal doc html public class MyContract implem
  • 在 PHP 中,为什么我的会话变量保留为引用?

    这是代码 通过验证 IP 地址来检查会话 ID 是否被欺骗是一个简单的操作 session start session ip address SERVER REMOTE ADDR if isset SESSION SESSION IP AD
  • 如何更新表中的行或插入不存在的行?

    我有以下计数器表 CREATE TABLE cache key text PRIMARY KEY generation int 我想增加其中一个计数器 或者如果相应的行尚不存在 则将其设置为零 有没有办法在标准 SQL 中没有并发问题的情况
  • 标签内的按钮触发(有时是双触发\双击)

    有类似的问题 但我没有足够的声誉来发布答案 所以我将其作为 新问题 问题是
  • dll 的 app.config 中的连接字符串

    我创建了一个 C dll 它使用来自的连接字符串应用程序配置文件连接到数据库 我在 Web 应用程序 Visual Studio 2013 Windows 7 中使用它 该应用程序也连接到数据库并在其中有自己的连接字符串网络配置文件 但是
  • WPF透明边框导致UI停止重绘

    作为后续我之前的问题 我想知道如何正确使用透明窗 如果我将窗口设置为使用透明度 UI 有时会出现停止响应的情况 实际发生的情况是 UI 根本没有按其应有的方式更新 不出现动画 页面似乎无法导航 然而 如果你观察调试器点击按钮 链接等 确实有
  • 你能强制将枚举值序列化为整数吗? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将枚举值序列化为 int Hi all 我想知道是否有一种方法可以强制将枚举值序列化为其整数值 而不是其字符串表示形式 让您了解一下上下文 在严重依赖 Web 服务的 Web 应用程序中 我们为所
  • 不能子类化 UIColor 吗?

    我正在尝试对 UIColor 进行子类化 但我似乎无法弄清楚出了什么问题 在我的 PColor h 中 import
  • 为什么“隔空敲击”手势在我的 Unity/MRTK 应用程序中的 HoloLens1 上不起作用?

    我有一个 Unity 应用程序 我想将其与 Microsoft 混合现实工具包 MRTK 集成 当我将 MRTK v2 1 或 v2 2 包添加到 Unity 项目时 我可以在 Unity 编辑器中模拟 隔空敲击 手势 并且应用程序会注册该
  • 新信号连接到旧插槽而不是单独的插槽

    我正在尝试标记数据跟踪的 x 跨度 并使用 tagNames 起始 x 值和结束 x 值填充表 我正在使用 突出显示 对象的字典来跟踪 x 跨度 以防以后需要对其进行编辑 增加或减少 字典将 x 起始值映射到突出显示对象 因为 x 起始值应
  • 从 Bigquery 中的时间戳提取日期:一种更好的方法

    向 Bigquery 专家提出一个简短的问题 以下是使用标准 SQL 从 Bigquery 中的时间戳中提取日期的两种方法 standardSQL 1 DATE TIMESTAMP MILLIS CAST timestamp AS INT6