在 SQL 中使用 CAST 将时间转换为整数

发布于 2025-01-14 05:52:25 字数 313 浏览 0 评论 0原文

我想要超过 0 的值的平均 trip_duration ,所以我想将 time 转换为 int64 以便能够在 where 子句中将其转换为 0 ,但它并没有真正起作用。

(SELECT (ended_at-started_at) as trip_duration

FROM `case-study-bikes-trips.bikes_trips.03_2021` )
select CAST (avg(trip_duration) as INT64)
from duration 

它告诉我“从 INTERVAL 到 INT64 的转换无效”。

I want to have the average trip_duration for values that are over 0, so i thought to cast time as int64 TO be able to campare it to 0 in the where clause, but it didn't really work.

(SELECT (ended_at-started_at) as trip_duration

FROM `case-study-bikes-trips.bikes_trips.03_2021` )
select CAST (avg(trip_duration) as INT64)
from duration 

It tells me "Invalid cast from INTERVAL to INT64".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海螺姑娘 2025-01-21 05:52:26

考虑以下修复:

with duration as (
  select datetime_diff(ended_at, started_at, minute) as trip_duration
  from `case-study-bikes-trips.bikes_trips.03_2021` 
)
select avg(trip_duration) as avg_trip_duration_in_min
from duration 

Consider below fix:

with duration as (
  select datetime_diff(ended_at, started_at, minute) as trip_duration
  from `case-study-bikes-trips.bikes_trips.03_2021` 
)
select avg(trip_duration) as avg_trip_duration_in_min
from duration 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文