ConvertTo.sql 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. /* syntax version 1 */
  2. $bool = Yson::Parse("true");
  3. $number = Yson::Parse("123");
  4. $string = Yson::Parse("\"123\"");
  5. $number_list = Yson::Parse("[1;2;3]");
  6. $string_list = Yson::Parse("[\"a\";\"b\";\"c\"]");
  7. $yson_list = Yson::Parse("[123;{a=1;b=2;c=3};{a=4;b=5;c=6}]");
  8. $number_dict = Yson::Parse("{a=1;b=2;c=3}");
  9. $string_dict = Yson::Parse("{a=\"aaa\";b=\"bbb\";c=\"ccc\"}");
  10. $yson_dict = Yson::Parse("{a=123;b=\"bbb\";c=[\"ccc\";\"ddd\"]}");
  11. $options = Yson::Options(true AS Strict);
  12. $no_strict = Yson::Options(false AS Strict);
  13. SELECT
  14. Yson::ConvertToBool($bool, $options) AS `bool`,
  15. Yson::ConvertToInt64($number, $options) AS `int`,
  16. Yson::ConvertToUint64($number, $options) AS `uint`,
  17. Yson::ConvertToDouble($number, $options) AS `double`,
  18. Yson::ConvertToString($string, $options) AS `string`,
  19. Yson::ConvertToInt64($string, $no_strict) AS incorrect,
  20. Yson::ConvertToUint64List($number_list) AS number_list,
  21. Yson::ConvertToStringList($string_list) AS string_list,
  22. ListMap(
  23. Yson::ConvertToList($yson_list),
  24. ($item) -> { return Yson::SerializeJson($item); }
  25. ) AS yson_list,
  26. Yson::ConvertToStringList($number_list, $no_strict) AS incorrect_list,
  27. Yson::ConvertToInt64Dict($number_dict) AS number_dict,
  28. Yson::ConvertToStringDict($string_dict) AS string_dict,
  29. Yson::SerializeJson(
  30. Yson::ConvertToDict($yson_dict)["c"]
  31. ) AS yson_dict,
  32. Yson::ConvertToBoolDict($number_dict, $no_strict) AS incorrect_dict;