wrapper.sql 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /* syntax version 1 */
  2. /* postgres can not */
  3. $json = CAST(@@{
  4. "object": {"key": 123},
  5. "multi_object": [{"key": 123}, {"key": 456}, {"key": 789}],
  6. "array": [1, 2, 3],
  7. "multi_array": [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  8. }@@ as Json);
  9. -- Check JSON_QUERY without wrapper
  10. SELECT
  11. JSON_QUERY($json, "strict $.array"), -- defaults to WITHOUT ARRAY WRAPPER
  12. JSON_QUERY($json, "strict $.array" WITHOUT WRAPPER),
  13. JSON_QUERY($json, "strict $.array" WITHOUT ARRAY WRAPPER),
  14. JSON_QUERY($json, "strict $.object"), -- defaults to WITHOUT ARRAY WRAPPER
  15. JSON_QUERY($json, "strict $.object" WITHOUT WRAPPER),
  16. JSON_QUERY($json, "strict $.object" WITHOUT ARRAY WRAPPER);
  17. -- Check UNCONDITIONAL wrapper
  18. SELECT
  19. JSON_QUERY($json, "strict $.array" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER
  20. JSON_QUERY($json, "strict $.array" WITH ARRAY WRAPPER),
  21. JSON_QUERY($json, "strict $.array" WITH UNCONDITIONAL WRAPPER),
  22. JSON_QUERY($json, "strict $.array" WITH UNCONDITIONAL ARRAY WRAPPER),
  23. JSON_QUERY($json, "strict $.object" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER
  24. JSON_QUERY($json, "strict $.object" WITH ARRAY WRAPPER),
  25. JSON_QUERY($json, "strict $.object" WITH UNCONDITIONAL WRAPPER),
  26. JSON_QUERY($json, "strict $.object" WITH UNCONDITIONAL ARRAY WRAPPER),
  27. JSON_QUERY($json, "strict $.array[*]" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER
  28. JSON_QUERY($json, "strict $.array[*]" WITH ARRAY WRAPPER),
  29. JSON_QUERY($json, "strict $.array[*]" WITH UNCONDITIONAL WRAPPER),
  30. JSON_QUERY($json, "strict $.array[*]" WITH UNCONDITIONAL ARRAY WRAPPER),
  31. JSON_QUERY($json, "strict $.multi_array[*]" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER
  32. JSON_QUERY($json, "strict $.multi_array[*]" WITH ARRAY WRAPPER),
  33. JSON_QUERY($json, "strict $.multi_array[*]" WITH UNCONDITIONAL WRAPPER),
  34. JSON_QUERY($json, "strict $.multi_array[*]" WITH UNCONDITIONAL ARRAY WRAPPER),
  35. JSON_QUERY($json, "strict $.multi_object[*]" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER
  36. JSON_QUERY($json, "strict $.multi_object[*]" WITH ARRAY WRAPPER),
  37. JSON_QUERY($json, "strict $.multi_object[*]" WITH UNCONDITIONAL WRAPPER),
  38. JSON_QUERY($json, "strict $.multi_object[*]" WITH UNCONDITIONAL ARRAY WRAPPER);
  39. -- Check CONDITIONAL wrapper
  40. SELECT
  41. JSON_QUERY($json, "strict $.array" WITH CONDITIONAL WRAPPER),
  42. JSON_QUERY($json, "strict $.array" WITH CONDITIONAL ARRAY WRAPPER),
  43. JSON_QUERY($json, "strict $.object" WITH CONDITIONAL WRAPPER),
  44. JSON_QUERY($json, "strict $.object" WITH CONDITIONAL ARRAY WRAPPER),
  45. JSON_QUERY($json, "strict $.array[*]" WITH CONDITIONAL WRAPPER),
  46. JSON_QUERY($json, "strict $.array[*]" WITH CONDITIONAL ARRAY WRAPPER),
  47. JSON_QUERY($json, "strict $.multi_array[*]" WITH CONDITIONAL WRAPPER),
  48. JSON_QUERY($json, "strict $.multi_array[*]" WITH CONDITIONAL ARRAY WRAPPER),
  49. JSON_QUERY($json, "strict $.multi_object[*]" WITH CONDITIONAL WRAPPER),
  50. JSON_QUERY($json, "strict $.multi_object[*]" WITH CONDITIONAL ARRAY WRAPPER);