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.
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 will be applied when parsing JSON input:
Whitespace will be stripped from the document.
If a JSON object has duplicate keys, only the first key will be
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")
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"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis webpage details the \u003ccode\u003eTypeCode\u003c/code\u003e enum within the Google.Cloud.Spanner.V1 namespace, used to specify the type of a Cloud Spanner value.\u003c/p\u003e\n"],["\u003cp\u003eThe page lists various versions of the \u003ccode\u003eGoogle.Cloud.Spanner.V1\u003c/code\u003e package, ranging from the latest beta version 5.0.0-beta05 down to version 3.5.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eTypeCode\u003c/code\u003e values, which determine how data is encoded or decoded in JSON format, include \u003ccode\u003eArray\u003c/code\u003e, \u003ccode\u003eBool\u003c/code\u003e, \u003ccode\u003eBytes\u003c/code\u003e, \u003ccode\u003eDate\u003c/code\u003e, \u003ccode\u003eFloat64\u003c/code\u003e, \u003ccode\u003eInt64\u003c/code\u003e, \u003ccode\u003eJson\u003c/code\u003e, \u003ccode\u003eNumeric\u003c/code\u003e, \u003ccode\u003eString\u003c/code\u003e, \u003ccode\u003eStruct\u003c/code\u003e, \u003ccode\u003eTimestamp\u003c/code\u003e, and \u003ccode\u003eUnspecified\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eEach \u003ccode\u003eTypeCode\u003c/code\u003e is explained with its name and a description of how its corresponding data is encoded into JSON format, such as \u003ccode\u003eBool\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e or \u003ccode\u003efalse\u003c/code\u003e and \u003ccode\u003eBytes\u003c/code\u003e as base64 strings.\u003c/p\u003e\n"],["\u003cp\u003eIt also lists an extension method \u003ccode\u003eTypeCodeExtensions.GetOriginalName()\u003c/code\u003e that is tied to the version 3.11.0 and how it relates to \u003ccode\u003eTypeCode\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]