SqlExists.sql 913 B

12345678910111213141516171819202122232425
  1. /* syntax version 1 */
  2. $path = Json2::CompilePath("strict $.x");
  3. -- Key exists
  4. SELECT
  5. Json2::SqlExists(CAST(@@{"x": 123}@@ as Json), $path, AsDict(), false),
  6. Json2::SqlExists(CAST(@@{"x": {"key": "value"}}@@ as Json), $path, AsDict(), false),
  7. Json2::SqlExists(CAST(@@{"x": [1, 2, 3]}@@ as Json), $path, AsDict(), false),
  8. Json2::SqlExists(CAST(@@{"x": null}@@ as Json), $path, AsDict(), false);
  9. -- Key is missing
  10. SELECT
  11. Json2::SqlExists(NULL, $path, AsDict(), false),
  12. Json2::SqlExists(CAST(@@{"not_x": 123}@@ as Json), $path, AsDict(), false),
  13. Json2::SqlExists(CAST("{}" as Json), $path, AsDict(), false),
  14. Json2::SqlExists(CAST("[]" as Json), $path, AsDict(), false);
  15. -- Error handling
  16. $json = CAST("[]" as Json);
  17. SELECT
  18. Json2::SqlExists($json, $path, AsDict(), false),
  19. Json2::SqlExists($json, $path, AsDict(), true),
  20. Json2::SqlExists($json, $path, AsDict(), NULL);