Chapter 3. Data Types, Functions, and Operators
In the bike rental queries in the previous chapters, when we divided the trip duration by 60, we were able to do so because trip duration was a numeric type. Trying to divide the gender by 60 would not have worked because gender is a string. The functions and operations you have at your disposal might be restricted based on the type of data to which you are applying them.
BigQuery supports several data types to store numeric, string, time, geographic, structured, and semi-structured data:
- This is the only integer type. It can represent numbers ranging from approximately 10–19 to 1019. For real-valued numbers, use
FLOAT64, and for Booleans, use
NUMERICoffers 38 digits of precision and 9 decimal digits of scale and is suitable for exact calculations, such as in finance.
- This is a first-class type and represents variable-length sequences of Unicode characters.
BYTESare variable-length sequences of characters (not Unicode).
- This represents an absolute point in time.
- This represents a calendar date and time.
TIMEare also available separately.
GEOGRAPHYrepresents points, lines, and polygons on the surface of the Earth.
- See the description for each of these in Chapter 2.
Numeric Types and Functions
As just stated, there is only one integer type (
INT64) and only one floating-point type (
FLOAT64). Both of these types support the typical arithmetic operations ...