Type Stay organized with collections Save and categorize content based on your preferences.
Type indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
| JSON representation |
|---|
{"code":enum ( |
| Fields | |
|---|---|
code |
Required. The |
arrayElementType |
If |
structType |
If |
typeAnnotation |
The |
protoTypeFqn |
If |
TypeCode
TypeCode is used as part ofType to indicate the type of a Cloud Spanner value.
Each legal value of a type can be encoded to or decoded from a JSON value, using the encodings described below. All Cloud Spanner values can benull, regardless of type;nulls are always encoded as a JSONnull.
| Enums | |
|---|---|
TYPE_CODE_UNSPECIFIED | Not specified. |
BOOL | Encoded as JSONtrue orfalse. |
INT64 | Encoded asstring, in decimal format. |
FLOAT64 | Encoded asnumber, or the strings"NaN","Infinity", or"-Infinity". |
FLOAT32 | Encoded asnumber, or the strings"NaN","Infinity", or"-Infinity". |
TIMESTAMP | Encoded as If the schema has the column option |
DATE | Encoded asstring in RFC 3339 date format. |
STRING | Encoded asstring. |
BYTES | Encoded as a base64-encodedstring, as described in RFC 4648, section 4. |
ARRAY | Encoded aslist, where the list elements are represented according toarrayElementType. |
STRUCT | Encoded aslist, where list elementi is represented according tostructType.fields[i]. |
NUMERIC | Encoded as Scientific notation: |
JSON | Encoded as a JSON-formatted
|
PROTO | Encoded as a base64-encodedstring, as described in RFC 4648, section 4. |
ENUM | Encoded asstring, in decimal format. |
TypeAnnotationCode
TypeAnnotationCode is used as a part ofType to disambiguate SQL types that should be used for a given Cloud Spanner value. Disambiguation is needed because the same Cloud Spanner type can be mapped to different SQL types depending on SQL dialect. TypeAnnotationCode doesn't affect the way value is serialized.
| Enums | |
|---|---|
TYPE_ANNOTATION_CODE_UNSPECIFIED | Not specified. |
PG_NUMERIC | PostgreSQL compatible NUMERIC type. This annotation needs to be applied toType instances havingNUMERIC type code to specify that values of this type should be treated as PostgreSQL NUMERIC values. Currently this annotation is always needed forNUMERIC when a client interacts with PostgreSQL-enabled Spanner databases. |
PG_JSONB | PostgreSQL compatible JSONB type. This annotation needs to be applied toType instances havingJSON type code to specify that values of this type should be treated as PostgreSQL JSONB values. Currently this annotation is always needed forJSON when a client interacts with PostgreSQL-enabled Spanner databases. |
PG_OID | PostgreSQL compatible OID type. This annotation can be used by a client interacting with PostgreSQL-enabled Spanner database to specify that a value should be treated using the semantics of the OID type. |
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-30 UTC.