It is a text based type that is used to encapsulate a set of name/value pairs, or an array of values. This flexible format allows for convenient storage of varied data that is related in some manner. Since this type is text based, it can be defined as accepting text in CHARACTER SET UNICODE or LATIN. Other character sets are not supported.
The JSON data type can be used as a column of a table, as a parameter to or return from a UDF/UDM/XSP/TDSP/Table Operator, and may be used to declare a local variable inside of a TDSP. In each particular use of the JSON data type, the character set must be specified (or the character set of the database will be used) and the maximum length must be set.
JSON data types may be used as the attribute of an ANSI Structured UDT, but not as the base type of an ANSI Distinct UDT or as the element type of a Teradata ARRAY type.
The JSON data type can define a maximum length on a per instance basis. Variable Maximum Length means the JSON type has some default maximum length, but that length may be adjusted in places where that type is used in a manner analogous to the VARCHAR data type. Thus the length may never exceed the absolute maximum length, but a particular instance of the JSON type may define a shorter maximum length.
That absolute maximum is equal to 16776192 bytes, so if the JSON type utilizes the LATIN character set, that is equal to 16776192 characters and if it utilizes the UNICODE UTF16 character set, that is equal to 8388096 characters.