Examples: Using Cast with the JSON Type
A dot notation expression is present in the following CAST statements:
SELECT CAST(NEW JSON('{"a":"1"}')..a AS NUMBER);
Result:
> 1.E0
SELECT CAST(NEW JSON('{"a":"a"}')..a AS INTEGER);
Result:
> ?
The following CAST statements specify an inline length for the resulting JSON type:
SELECT CAST('{}' AS JSON(300) INLINE LENGTH 100);
SELECT CAST(new JSON('{}', LATIN) AS JSON(10) INLINE LENGTH 10);
SELECT CAST(jsn1 AS JSON(300) INLINE LENGTH 300) FROM jsonTable;
Examples: Casting JSON Data
The following SELECT statements all return {"hello":"world"}, but as different data types and storage formats:
SELECT CAST('160000000268656C6C6F0006000000776F726C640000'xb AS JSON STORAGE FORMAT BSON); SELECT CAST('{"hello":"world"}' AS JSON STORAGE FORMAT BSON); SELECT CAST('{"hello":"world"}' AS JSON STORAGE FORMAT UBJSON); SELECT CAST(NEW JSON('{"hello":"world"}') AS JSON STORAGE FORMAT BSON); SELECT CAST(NEW JSON('{"hello":"world"}') AS JSON STORAGE FORMAT UBJSON); SELECT CAST(NEW JSON('{"hello":"world"}',LATIN) AS JSON STORAGE FORMAT BSON); SELECT CAST(NEW JSON('{"hello":"world"}',LATIN) AS JSON STORAGE FORMAT UBJSON); SELECT CAST(NEW JSON('{"hello":"world"}',UNICODE) AS JSON STORAGE FORMAT BSON); SELECT CAST(NEW JSON('{"hello":"world"}',UNICODE) AS JSON STORAGE FORMAT UBJSON); SELECT CAST(NEW JSON('160000000268656C6C6F0006000000776F726C640000'xb, BSON) AS JSON STORAGE FORMAT UBJSON);