123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /* syntax version 1 */
- /* postgres can not */
- $json = CAST(@@{
- "key": 123
- }@@ as Json);
- -- Check all supported types for variables
- SELECT
- -- Numeric types
- JSON_VALUE(
- $json,
- "strict $var1 + $var2 + $var3 + $var4 + $var5 + $var6 + $var7 + $var8 + $var9 + $var10"
- PASSING
- CAST(1 as Int8) as var1,
- CAST(2 as Uint8) as var2,
- CAST(3 as Int16) as var3,
- CAST(4 as Uint16) as var4,
- CAST(5 as Int32) as var5,
- CAST(6 as Uint32) as var6,
- CAST(7 as Int64) as var7,
- CAST(8 as Uint64) as var8,
- CAST(9 as Double) as var9,
- CAST(10 as Float) as var10
- ),
- -- Time types
- JSON_VALUE(
- $json,
- "strict $var"
- PASSING
- CAST(1582044622 as Datetime) as var
- ),
- JSON_VALUE(
- $json,
- "strict $var"
- PASSING
- CAST(1582044622 as Timestamp) as var
- ),
- JSON_VALUE(
- $json,
- "strict $var"
- PASSING
- CAST("2020-02-18" as Date) as var
- ),
- -- Utf8
- JSON_VALUE(
- $json,
- "strict $var"
- PASSING
- CAST("привет" as Utf8) as var
- ),
- -- Bool
- JSON_VALUE(
- $json,
- "strict $var"
- PASSING
- true as var
- ),
- -- Json
- JSON_VALUE(
- $json,
- "strict $var.key"
- PASSING
- $json as var
- ),
- -- Nulls
- JSON_VALUE(
- $json,
- "strict $var"
- PASSING
- Nothing(Int64?) as var
- ),
- JSON_VALUE(
- $json,
- "strict $var"
- PASSING
- NULL as var
- );
- -- Check various ways to pass variable name
- SELECT
- JSON_VALUE(
- $json, "strict $var1"
- PASSING
- 123 as var1
- ),
- -- NOTE: VaR1 is not casted to upper-case VAR1 as standard expects
- JSON_VALUE(
- $json, "strict $VaR1"
- PASSING
- 123 as VaR1
- ),
- JSON_VALUE(
- $json, "strict $var1"
- PASSING
- 123 as "var1"
- ),
- JSON_VALUE(
- $json, "strict $VaR1"
- PASSING
- 123 as "VaR1"
- );
|