Class StandardSqlDataType

The type of a variable, e.g., a function argument. Examples: INT64: {type_kind="INT64"} ARRAY: {type_kind="ARRAY", array_element_type="STRING"} STRUCT<x STRING, y ARRAY>: {type_kind="STRUCT", struct_type={fields=[ {name="x", type={type_kind="STRING"}}, {name="y", type={type_kind="ARRAY", array_element_type="DATE"}} ]}}

This message has oneof_ fields (mutually exclusive fields). For each oneof, at most one member field can be set at the same time. Setting any member of the oneof automatically clears all other members.

.. _oneof:

Required. The top level type of this field. Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
The type of the array's elements, if type_kind = "ARRAY". This field is a member of `oneof`_ ``sub_type``.
The fields of this struct, in order, if type_kind = "STRUCT". This field is a member of `oneof`_ ``sub_type``.


builtins.object > proto.message.Message > StandardSqlDataType




API documentation for bigquery_v2.types.StandardSqlDataType.TypeKind class.




Return True if any field is truthy, False otherwise.



Return True if this field was set to something non-zero on the wire.

In most cases, this method will return True when __getattr__ would return a truthy value and False when it would return a falsy value, so explicitly calling this is not useful.

The exception case is empty messages explicitly set on the wire, which are falsy from __getattr__. This method allows to distinguish between an explicitly provided empty message and the absence of that message, which is useful in some edge cases.

The most common edge case is the use of google.protobuf.BoolValue to get a boolean that distinguishes between False and None (or the same for a string, int, etc.). This library transparently handles that case for you, but this method remains available to accommodate cases not automatically covered.

key str

The name of the field.

boolWhether the field's value corresponds to a non-empty wire serialization.



Delete the value on the given field.

This is generally equivalent to setting a falsy value.



Return True if the messages are equal, False otherwise.



Retrieve the given field's value.

In protocol buffers, the presence of a field on a message is sufficient for it to always be "present".

For primitives, a value of the correct type will always be returned (the "falsy" values in protocol buffers consistently match those in Python). For repeated fields, the falsy value is always an empty sequence.

For messages, protocol buffers does distinguish between an empty message and absence, but this distinction is subtle and rarely relevant. Therefore, this method always returns an empty message (following the official implementation). To check for message presence, use key in self (in other words, __contains__).

.. note::

Some well-known protocol buffer types
(e.g. ``google.protobuf.Timestamp``) will be converted to
their Python equivalents. See the ``marshal`` module for
more details.



Return True if the messages are unequal, False otherwise.


__setattr__(key, value)

Set the value on the given field.

For well-known protocol buffer types which are marshalled, either the protocol buffer object or the Python equivalent is accepted.