2 个日期时间字段之间的平均差异然后转换为时间

Average of difference between 2 datetime fields then cast to time

我在 Google BigQuery 工作。

我有一个 DeliveryDate 和 ShipDate 字段(都是日期时间)。我正在计算差异然后取平均值。我的问题是我的数据可视化软件无法获取日期时间格式,例如“0-0-0 25:0:0”。我想 CAST 或任何函数来获取时间部分。

SELECT 
    CarrierName,
    AVG((DeliveryDate - ShipDate)) AS AverageShipToDeliver
FROM 
    `jan2022floyd.floyd_jan22.leaf_Q4_Jan22`
GROUP BY 
    CarrierName

不幸的是,我无法在上面添加 CAST 函数,因为 'AverageShipToDeliver' 无法识别,我无法在其中进行计算。

尝试使用 date_diff 函数,它将 return 一个整数,您应该能够更有效地使用它。您可能需要在交货标签处进行计算,然后取平均值。

select CarrierName
    , AVG(date_diff(DeliveryDate, ShipDate, DAY))
FROM `jan2022floyd.floyd_jan22.leaf_Q4_Jan22`
GROUP BY CarrierName

https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions#date_diff