googleapis / googleapis/google-cloud-python

Support INTERVAL data type

Open
#15,740 12 comments 2 reactions 1 assignee Claimed by @tswast View on GitHub
api: bigquery type: feature request
Dominant language
Python
Stars
5.4k
Forks
1.8k
Avg merge
3d 4h
Merged PRs (30d)
122

Description

"BigQuery now supports the [INTERVAL](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#interval_type) type, which represents a duration or an amount of time. This type is in Preview."

https://cloud.google.com/bigquery/docs/release-notes#July_27_2021

Name | Range
-- | --
INTERVAL | -10000-0 -3660000 -87840000:0:0 to 10000-0 3660000 87840000:0:0

An INTERVAL object represents duration or amount of time. Interval is composed of three independent parts:

  • [sign]Y-M: Years and Months
  • [sign]D: Days
  • [sign]H:M:S.F: Hours, Minutes, Seconds and Subseconds.

Canonical format
[sign]Y-M [sign]D [sign]H:M:S[.F]
  • Y: Year
  • M: Month
  • D: Day
  • H: Hour
  • M: Minute
  • S: Second
  • [.F]: Up to six fractional digits (microsecond precision)

TODO:

- [ ] Add relevant enums for data types
- [ ] Row data is converted to relevant type in RowIterator (`list_rows()`) https://github.com/googleapis/python-bigquery/pull/840
- [ ] Convert data type in query parameters
- [ ] Covert data type in `insert_rows`

Edit: Removed pandas, arrow, db-api support in favor of https://github.com/googleapis/google-cloud-python/issues/15279, as those implementations are currently blocked on Arrow and the BQ Storage API.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.