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 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")
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\u003eThe page documents various versions of the \u003ccode\u003eGoogle.Cloud.Spanner.V1.TypeCode\u003c/code\u003e enum, with version 5.0.0-beta05 being the latest, and also lists links to previous versions all the way to version 3.5.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eTypeCode\u003c/code\u003e is an enum within Google Cloud Spanner, used to define the specific type of a Cloud Spanner value, such as \u003ccode\u003eArray\u003c/code\u003e, \u003ccode\u003eBool\u003c/code\u003e, \u003ccode\u003eBytes\u003c/code\u003e, and \u003ccode\u003eString\u003c/code\u003e, among others.\u003c/p\u003e\n"],["\u003cp\u003eEach \u003ccode\u003eTypeCode\u003c/code\u003e has a corresponding JSON encoding format, which determines how the data is represented, such as \u003ccode\u003elist\u003c/code\u003e for \u003ccode\u003eArray\u003c/code\u003e, \u003ccode\u003etrue\u003c/code\u003e or \u003ccode\u003efalse\u003c/code\u003e for \u003ccode\u003eBool\u003c/code\u003e, and \u003ccode\u003ebase64-encoded string\u003c/code\u003e for \u003ccode\u003eBytes\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eCloud Spanner values can be \u003ccode\u003enull\u003c/code\u003e regardless of their type, and these \u003ccode\u003enull\u003c/code\u003e values are represented as a JSON \u003ccode\u003enull\u003c/code\u003e in their encoded form.\u003c/p\u003e\n"],["\u003cp\u003eThe page also lists an Extension Method \u003ccode\u003eTypeCodeExtensions.GetOriginalName()\u003c/code\u003e to complement the information.\u003c/p\u003e\n"]]],[],null,[]]