当前位置: 首页 > 知识库问答 >
问题:

将具有某一天时间的所有时间戳更改为上一个日期

马晓博
2023-03-14

我正在尝试将时间戳的时间为05:59:59 AM或以下的所有数据行转换为上一个日期。因此,例如“2018-12-08 05:05:00”将是“2018-12-07”,“2018-11-06 03:02:00”将是“2018-11-05”。

时间戳的格式为“yyyy-mm-dd hh:mm:ss”,并存储为varchar

SELECT lift.spot_datetime AS broadcastdate,
    CASE when broadcastdate > to_date(>='06:00:00', 'hh:mm:ss') then to_date('MM/DD/YYYY') end as same_date,
    ELSE when broadcastdate > to_date(<='05:59:59', 'hh:mm:ss') then DATE_SUB(to_date('MM/DD/YYYY' - 1) end as subtract_date

“从AWS Athena客户端引发错误。syntax_error:第1:17行:列'day'无法解析”

运行上述查询时得到的当前错误如下:“An error has been throw from The AWS Athena client.line 2:39:no viable alternative at input'to_date(>='[Execution ID not available]”

共有1个答案

谷德本
2023-03-14

从您的SQL查询中,并不清楚您想要什么样的结果结构,但让我来试试看:

SELECT
    spot_datetime AS broadcastdate,
    IF ( TIME(spot_datetime) < '06:00:00',
        DATE(spot_datetime) - INTERVAL 1 DAY,
        DATE(spot_datetime)
    ) AS your_desired_date
FROM lift;
+---------------------+-------------------+
| broadcastdate       | your_desired_date |
+---------------------+-------------------+
| 2018-12-08 05:05:00 | 2018-12-07        |
| 2018-11-06 03:02:00 | 2018-11-05        |
| 2018-11-06 06:00:00 | 2018-11-06        |
+---------------------+-------------------+
3 rows in set (0.00 sec)
 类似资料:
  • 问题内容: 具体来说,给定服务器的时区(系统时间角度)和时区输入,我如何计算系统时间,就像它在那个新时区中一样(无论夏时制如何)? 问题答案: 如果知道您的原始时区和要将其转换为的新时区,那么结果将非常简单: 为当前时区和新时区都创建一个对象,例如。如果您不知道时区的官方名称,只需拨打以下电话即可找到所有官方时区的列表 呼叫使用当前时区的pytz对象与你的日期时间/时间戳输入到它定位到当前时区。例

  • 问题内容: 我有一个带有日期列的数据框,它看起来像这样。有多个日期列,例如结束日期,会计年度日期等。 我正在尝试编写一个函数,该函数基本上将那些整数更改为适当的日期格式,并将此列的格式设置为datetime [64]。此列格式是当前对象类型。 我写了下面的功能 现在回馈 我想这些数字不会转换为日期。但我不确定我还能如何调整我的代码。 任何想法? 亚当 问题答案: 参考如何将给定序数(从Excel)

  • 问题内容: 我需要处理大量CSV文件,其中时间戳始终是代表以毫秒为单位的unix时间戳的字符串。我找不到有效修改这些列的方法。 这就是我想出的,但是,这当然只重复了该列,而我不得不以某种方式将其放回原始数据集。我确定创建?时可以做到。 这将选择“ UNIXTIME”列,并将其更改为 进入这个 但是,我想使用类似的方法来获取转换后的列返回的整个数据集,或者像我已经写的那样,仅在从CSV生成DataF

  • 我试图找出如何在Kotlin中将转换为,这在Java中非常简单,但我在Kotlin中找不到任何等效的。 例如:历元时间戳(1970-01-01以来的秒数)== 在Kotlin中是否有解决方案,或者我是否必须在Kotln中使用Java语法?请给我一个简单的例子来说明如何解决这个问题。提前谢谢。 这个链接不是我问题的答案

  • 问题内容: 我从Python程序中的Web服务检索Unix时间戳。该时间戳是美国时区。为了将它与其他在法国本地化的对象一起插入MySQL数据库中,我想将此时间戳转换为法国时区。 我可以用数学函数来做到这一点,但是存在夏令时的问题。我更喜欢使用Python时间和日期特定的函数来处理这些概念。 您有提示吗,我迷失了Python文档? 问题答案: 过去,当我们从服务提供商处下载文件的时间戳具有与PST时

  • 问题内容: 我有一个时间戳记,我想知道是否有办法在PST中将其舍入到一天的开始。例如,ts:对应于,但是我想将其舍入为一个映射到的时间戳。我读了time.Time文档,但没有找到解决方法。 问题答案: 执行此操作的简单方法是使用上一个创建新内容,并且仅分配年份的月份和日期。看起来像这样; 这是一个表演例子;https://play.golang.org/p/jnFuZxruKm