Reference documentation and code samples for the Google Cloud Spanner v1 API enum TypeCode.
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; nulls are always encoded as a JSON
null.
Encoded as list, where the list elements are represented
according to
[array_element_type][google.spanner.v1.Type.array_element_type].
Bool
Encoded as JSON true or false.
Bytes
Encoded as a base64-encoded string, as described in RFC 4648,
section 4.
Date
Encoded as string in RFC 3339 date format.
Enum
Encoded as string, in decimal format.
Float32
Encoded as number, or the strings "NaN", "Infinity", or
"-Infinity".
Float64
Encoded as number, or the strings "NaN", "Infinity", or
"-Infinity".
Int64
Encoded as string, in decimal format.
Json
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.
Numeric
Encoded as string, in decimal format or scientific notation format.
<br>Decimal format:
<br>[+-]Digits[.[Digits]] or
<br>[+-][Digits].Digits
Scientific notation:
<br>[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits] or
<br>[+-][Digits].Digits[ExponentIndicator[+-]Digits]
<br>(ExponentIndicator is "e" or "E")
Proto
Encoded as a base64-encoded string, as described in RFC 4648,
section 4.
String
Encoded as string.
Struct
Encoded as list, where list element i is represented according
to [struct_type.fields[i]][google.spanner.v1.StructType.fields].
Timestamp
Encoded as string in RFC 3339 timestamp format. The time zone
must be present, and must be "Z".
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-17 UTC."],[[["This page provides reference documentation for the `TypeCode` enum within the Google Cloud Spanner v1 API, detailing how different data types are represented and encoded."],["The latest version of the documentation is 5.0.0-beta05, with several previous versions available for reference, ranging from 3.5.0 up to 5.0.0-beta04."],["`TypeCode` is used to define the type of a Cloud Spanner value, with each type having specific JSON encoding rules, such as `string` being used for `Date` and `Timestamp` with their respective formats, and base64 `string` being used for `Bytes` and `Proto`."],["The enum includes fields with names like `Array`, `Bool`, `Bytes`, `Date`, `Enum`, `Float32`, `Float64`, `Int64`, `Json`, `Numeric`, `Proto`, `String`, `Struct`, `Timestamp`, and `Unspecified` each with specific encoding methods."],["The page also includes an extension method, `TypeCodeExtensions.GetOriginalName(TypeCode)`, for additional functionality related to the `TypeCode` enum."]]],[]]