有没有一种方法可以将json字段转换为相应的“本机”mysql类型,而不必显式地强制转换它?
假设我有一个包含以下字段的表:
# table `test`
id INT UNSIGNED NOT NULL
json JSON NOT NULL
我插入了一些json,如下所示:
{field1: "abc", field2: 100}
{field1: "def", field2: 20}
我想按 field2
,这是数字,但不必强制转换。考虑到这一切,似乎这应该是可能的 field2
值是json数字。这可能吗?
select * from test order by CAST(json->>'$.field2' as unsigned) desc
^
└ Is there an alternative to doing this?
1条答案
按热度按时间jfgube3f1#
您可以使用一种巧妙的方法(乘1)隐式转换为数字,作为另一种情况:
演示