對於兩個不同的時間戳,比如說timestamp('2015-02-01')和timestamp('2015-02-12'),我想要一個包含所有日期的列。像這樣(12行) 2015-02-01 2015-02-02 。 。 。 2015年2月12日如何提取BigQuery中兩個時間戳之間的獨特日期?
3
A
回答
3
你可以做到這一點與交叉連接一起在公共數據集(fh-bigquery:geocode.numbers_65536
),你有人數達到65536
SELECT date(DATE_ADD(DAY, i, "DAY")) DAY
FROM
(SELECT '2015-01-01' AS DAY) a CROSS
JOIN
(SELECT i
FROM [fh-bigquery:geocode.numbers_65536]
WHERE i<=abs(DATEDIFF('2015-01-01','2015-01-15'))) b
ORDER BY DAY ASC
此輸出:
+-----+------------+---+
| Row | day | |
+-----+------------+---+
| 1 | 2015-01-01 | |
| 2 | 2015-01-02 | |
| 3 | 2015-01-03 | |
| 4 | 2015-01-04 | |
| 5 | 2015-01-05 | |
| 6 | 2015-01-06 | |
| 7 | 2015-01-07 | |
| 8 | 2015-01-08 | |
| 9 | 2015-01-09 | |
| 10 | 2015-01-10 | |
| 11 | 2015-01-11 | |
| 12 | 2015-01-12 | |
| 13 | 2015-01-13 | |
| 14 | 2015-01-14 | |
| 15 | 2015-01-15 | |
+-----+------------+---+
通過使用項目菜單(項目名稱旁邊的下拉菜單,切換到項目➪顯示項目)添加項目fh-bigquery
,可以將此數據添加到BigQuery UI中的視圖中。或者,您可以導航到BigQuery UI鏈接https://bigquery.cloud.google.com/project/fh-bigquery 添加項目後,示例數據集(fh-bigquery)將出現在導航面板中。
3
@ Pentium10答案是填充範圍的正確和經典的方式。爲了好玩,我想也提供一個不依賴任何附加表的替代方案。該解決方案是這樣認爲:
- 使用RPAD以產生所需長度的字符串,在間隔
- 使用SPLIT將其與等於使用天數元素的數目轉換爲重複場的天即數間隔
- 使用位置讓每個元素的順序指數在多次實地
這裏是整個查詢放在一起:
select date(date_add(day, i, "DAY")) day
from (select '2015-01-01' day) a
cross join
(select
position(
split(
rpad('', datediff('2015-01-15','2015-01-01')*2, 'a,'))) i
from (select NULL)) b;
相關問題
- 1. Python:從兩行之間的日誌中提取時間戳
- 2. 兩個日期與JavaScript中的時間戳之間的區別
- 3. Intersystems Cache中兩個日期時間戳之間的區別
- 4. 如何MySQL的兩個日期之和與當前時間戳
- 5. 尋找兩個時間戳與日期之間的差異
- 6. 查詢之間的兩個時間戳記日期
- 7. 兩個unix時間戳之間的選擇日期
- 8. 獲取兩個日期之間的最大日期/時間
- 9. 如何獲取兩個日期時間值之間的差異?
- 10. PHP從單獨的日期和時間獲取時間戳
- 11. 如何獲取DateTime中的兩個日期之間的日期
- 12. MySQL日期在兩個時間戳之間
- 13. 從兩個時間戳之間選擇日期
- 14. 兩個日期時間之間的TimeSpan
- 15. Javascript - 兩個日期之間的時間
- 16. 如何以日期格式顯示兩個特定日期之間的數據作爲時間戳
- 17. 如何獲取C中兩個日期之間的日期#
- 18. Xcode - 如何找到兩個日期之間的中間日期
- 19. 2個時間戳之間的日期和時間差異?
- 20. 從Bigquery中的時間戳提取日期:一種更好的方法
- 21. BigQuery標準SQL:從時間戳中提取星期幾名稱
- 22. python熊貓從時間序列中提取獨特的日期
- 23. 比較兩個ABAP時間/日期戳
- 24. 在兩個日期之間獲取記錄的問題(時間戳)
- 25. 獲取兩個日期之間的工作日時間?
- 26. mysql在兩個unix時間戳之間提取數據
- 27. 如何在mysql中顯示兩個日期之間的時間
- 28. 如何從帶時區的時間戳提取日期
- 29. 如何獲取dql中兩個時間戳之間的時間流逝秒數?
- 30. 如何找到兩個時間戳之間的時間差?