【问题标题】:Conversion of Teradata sql to MYSQL sqlTeradata sql到MYSQL sql的转换
【发布时间】:2020-09-21 22:32:32
【问题描述】:

我想将 Teradata 查询转换为 MYSQL 查询。

START_TIME AND END_TIME 的数据类型为 TIMESTAMP(6)

Teradata 查询:-

select START_TIME,END_TIME, (EXTRACT(DAY    FROM (END_TIME - START_TIME DAY(4) TO SECOND)) * 86400) from base.xyz

结果是这样的:-

**START_TIME, END_TIME, CALCULATED_FIELD**

9/15/2017 16:22:52.000000   9/19/2017 15:14:02.000000   259,200
7/26/2014 07:00:04.000000   7/28/2014 12:55:55.000000   172,800
6/8/2018 16:59:19.000000    6/11/2018 09:56:23.000000   172,800
10/6/2017 17:52:06.000000   10/9/2017 15:47:35.000000   172,800
7/29/2014 02:40:00.000000   7/30/2014 04:09:56.000000   86,400
7/25/2014 08:33:35.000000   7/25/2014 09:43:34.000000   0
1/6/2015 13:56:52.000000    1/6/2015 13:57:29.000000    0

请建议什么是 mysql 查询

【问题讨论】:

  • 最好从源 START_TIME 和 END_TIME 值中定义您想要实现的结果。
  • 感谢 Akina 的补充。我已经更新了结果
  • 请定义您需要的结果的含义...现在看起来像是日期之间的整天数转换为秒数。
  • 似乎是正确的

标签: mysql date casting teradata teradata-sql-assistant


【解决方案1】:

试试

SELECT start_time,
       end_time,
       TIMESTAMPDIFF(DAY, start_time, end_time) * 86400
FROM base.xyz;

fiddle

【讨论】:

    猜你喜欢
    • 2016-10-06
    • 2021-08-18
    • 2017-11-24
    • 2021-04-30
    • 2017-12-12
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    相关资源
    最近更新 更多