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"`.
[[["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-09-04 UTC."],[],[],null,["# Class TypeCode (3.57.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.57.0 (latest)](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.types.TypeCode)\n- [3.56.0](/python/docs/reference/spanner/3.56.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.55.0](/python/docs/reference/spanner/3.55.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.54.0](/python/docs/reference/spanner/3.54.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.53.0](/python/docs/reference/spanner/3.53.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.52.0](/python/docs/reference/spanner/3.52.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.51.0](/python/docs/reference/spanner/3.51.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.50.1](/python/docs/reference/spanner/3.50.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.46.0](/python/docs/reference/spanner/3.46.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.45.0](/python/docs/reference/spanner/3.45.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.44.0](/python/docs/reference/spanner/3.44.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.43.0](/python/docs/reference/spanner/3.43.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.42.0](/python/docs/reference/spanner/3.42.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.41.0](/python/docs/reference/spanner/3.41.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.40.1](/python/docs/reference/spanner/3.40.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.39.0](/python/docs/reference/spanner/3.39.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.38.0](/python/docs/reference/spanner/3.38.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.37.0](/python/docs/reference/spanner/3.37.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.36.0](/python/docs/reference/spanner/3.36.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.35.1](/python/docs/reference/spanner/3.35.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.34.0](/python/docs/reference/spanner/3.34.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.33.0](/python/docs/reference/spanner/3.33.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.32.0](/python/docs/reference/spanner/3.32.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.31.0](/python/docs/reference/spanner/3.31.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.30.0](/python/docs/reference/spanner/3.30.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.29.0](/python/docs/reference/spanner/3.29.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.28.0](/python/docs/reference/spanner/3.28.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.27.1](/python/docs/reference/spanner/3.27.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.26.0](/python/docs/reference/spanner/3.26.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.25.0](/python/docs/reference/spanner/3.25.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.24.0](/python/docs/reference/spanner/3.24.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.23.0](/python/docs/reference/spanner/3.23.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.22.2](/python/docs/reference/spanner/3.22.2/google.cloud.spanner_v1.types.TypeCode)\n- [3.21.0](/python/docs/reference/spanner/3.21.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.20.0](/python/docs/reference/spanner/3.20.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.19.0](/python/docs/reference/spanner/3.19.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.18.0](/python/docs/reference/spanner/3.18.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.17.0](/python/docs/reference/spanner/3.17.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.16.0](/python/docs/reference/spanner/3.16.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.15.1](/python/docs/reference/spanner/3.15.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.14.1](/python/docs/reference/spanner/3.14.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.13.0](/python/docs/reference/spanner/3.13.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.12.1](/python/docs/reference/spanner/3.12.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.11.1](/python/docs/reference/spanner/3.11.1/google.cloud.spanner_v1.types.TypeCode)\n- [3.10.0](/python/docs/reference/spanner/3.10.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.9.0](/python/docs/reference/spanner/3.9.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.8.0](/python/docs/reference/spanner/3.8.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.7.0](/python/docs/reference/spanner/3.7.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.6.0](/python/docs/reference/spanner/3.6.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.5.0](/python/docs/reference/spanner/3.5.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.4.0](/python/docs/reference/spanner/3.4.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.3.0](/python/docs/reference/spanner/3.3.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.2.0](/python/docs/reference/spanner/3.2.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.1.0](/python/docs/reference/spanner/3.1.0/google.cloud.spanner_v1.types.TypeCode)\n- [3.0.0](/python/docs/reference/spanner/3.0.0/google.cloud.spanner_v1.types.TypeCode)\n- [2.1.1](/python/docs/reference/spanner/2.1.1/google.cloud.spanner_v1.types.TypeCode)\n- [2.0.0](/python/docs/reference/spanner/2.0.0/google.cloud.spanner_v1.types.TypeCode)\n- [1.19.3](/python/docs/reference/spanner/1.19.3/google.cloud.spanner_v1.types.TypeCode)\n- [1.18.0](/python/docs/reference/spanner/1.18.0/google.cloud.spanner_v1.types.TypeCode)\n- [1.17.1](/python/docs/reference/spanner/1.17.1/google.cloud.spanner_v1.types.TypeCode)\n- [1.16.0](/python/docs/reference/spanner/1.16.0/google.cloud.spanner_v1.types.TypeCode)\n- [1.15.1](/python/docs/reference/spanner/1.15.1/google.cloud.spanner_v1.types.TypeCode)\n- [1.14.0](/python/docs/reference/spanner/1.14.0/google.cloud.spanner_v1.types.TypeCode)\n- [1.13.0](/python/docs/reference/spanner/1.13.0/google.cloud.spanner_v1.types.TypeCode)\n- [1.12.0](/python/docs/reference/spanner/1.12.0/google.cloud.spanner_v1.types.TypeCode)\n- [1.11.0](/python/docs/reference/spanner/1.11.0/google.cloud.spanner_v1.types.TypeCode)\n- [1.10.0](/python/docs/reference/spanner/1.10.0/google.cloud.spanner_v1.types.TypeCode) \n\n TypeCode(value)\n\n`TypeCode` is used as part of `Type][google.spanner.v1.Type]` to\nindicate the type of a Cloud Spanner value.\n\nEach legal value of a type can be encoded to or decoded from a JSON\nvalue, using the encodings described below. All Cloud Spanner values\ncan be `null`, regardless of type; `null`\\\\ s are always encoded\nas a JSON `null`. \n\n If the schema has the column option\n `allow_commit_timestamp=true`, the placeholder string\n `\"spanner.commit_timestamp()\"` can be used to instruct the\n system to insert the commit timestamp associated with the\n transaction commit.\n DATE (5):\n Encoded as `string` in RFC 3339 date format.\n STRING (6):\n Encoded as `string`.\n BYTES (7):\n Encoded as a base64-encoded `string`, as described in RFC\n 4648, section 4.\n ARRAY (8):\n Encoded as `list`, where the list elements are represented\n according to\n `array_element_type][google.spanner.v1.Type.array_element_type]`.\n STRUCT (9):\n Encoded as `list`, where list element `i` is represented\n according to\n [struct_type.fields[i]][google.spanner.v1.StructType.fields].\n NUMERIC (10):\n Encoded as `string`, in decimal format or scientific\n notation format. Decimal format: `[+-]Digits[.[Digits]]`\n or `[+-][Digits].Digits`\n\n Scientific notation:\n `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or\n `[+-][Digits].Digits[ExponentIndicator[+-]Digits]`\n (ExponentIndicator is `\"e\"` or `\"E\"`)\n JSON (11):\n Encoded as a JSON-formatted `string` as described in RFC\n 7159. The following rules are applied when parsing JSON\n input:\n\n - Whitespace characters are not preserved.\n - If a JSON object has duplicate keys, only the first key\n is preserved.\n - Members of a JSON object are not guaranteed to have their\n order preserved.\n - JSON array elements will have their order preserved.\n PROTO (13):\n Encoded as a base64-encoded `string`, as described in RFC\n 4648, section 4.\n ENUM (14):\n Encoded as `string`, in decimal format.\n INTERVAL (16):\n Encoded as `string`, in `ISO8601` duration format -\n `P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S` where `n` is an\n integer. For example, `P1Y2M3DT4H5M6.5S` represents time\n duration of 1 year, 2 months, 3 days, 4 hours, 5 minutes,\n and 6.5 seconds.\n UUID (17):\n Encoded as `string`, in lower-case hexa-decimal format, as\n described in RFC 9562, section 4."]]