TypeCode(value)
TypeCode
is used as part of Type][google.spanner.v1.Type]
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 be null
, regardless of type; null
\ s are always encoded
as a JSON null
.
If the schema has the column option
`allow_commit_timestamp=true`, the placeholder string
`"spanner.commit_timestamp()"` can be used to instruct the
system to insert the commit timestamp associated with the
transaction commit.
DATE (5):
Encoded as `string` in RFC 3339 date format.
STRING (6):
Encoded as `string`.
BYTES (7):
Encoded as a base64-encoded `string`, as described in RFC
4648, section 4.
ARRAY (8):
Encoded as `list`, where the list elements are represented
according to
`array_element_type][google.spanner.v1.Type.array_element_type]`.
STRUCT (9):
Encoded as `list`, where list element `i` is represented
according to
[struct_type.fields[i]][google.spanner.v1.StructType.fields].
NUMERIC (10):
Encoded as `string`, in decimal format or scientific
notation format. Decimal format: `[+-]Digits[.[Digits]]`
or `[+-][Digits].Digits`
Scientific notation:
`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
`[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
(ExponentIndicator is `"e"` or `"E"`)
JSON (11):
Encoded as a JSON-formatted `string` as described in RFC
7159. The following rules are applied when parsing JSON
input:
- Whitespace characters are not preserved.
- If a JSON object has duplicate keys, only the first key is
preserved.
- Members of a JSON object are not guaranteed to have their
order preserved.
- JSON array elements will have their order preserved.
PROTO (13):
Encoded as a base64-encoded `string`, as described in RFC
4648, section 4.
ENUM (14):
Encoded as `string`, in decimal format.
INTERVAL (16):
Encoded as `string`, in `ISO8601` duration format -
`P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S` where `n` is an
integer. For example, `P1Y2M3DT4H5M6.5S` represents time
duration of 1 year, 2 months, 3 days, 4 hours, 5 minutes,
and 6.5 seconds.
UUID (17):
Encoded as `string`, in lower-case hexa-decimal format, as
described in RFC 9562, section 4.
Enums |
|
---|---|
Name | Description |
TYPE_CODE_UNSPECIFIED |
Not specified. |
BOOL |
Encoded as JSON `true` or `false`. |
INT64 |
Encoded as `string`, in decimal format. |
FLOAT64 |
Encoded as `number`, or the strings `"NaN"`, `"Infinity"`, or `"-Infinity"`. |
FLOAT32 |
Encoded as `number`, or the strings `"NaN"`, `"Infinity"`, or `"-Infinity"`. |
TIMESTAMP |
Encoded as `string` in RFC 3339 timestamp format. The time zone must be present, and must be `"Z"`. |