我有一个奇怪的问题:表中的JSON列中有一个价格,下面的语句给出了不同的结果,但它们应该给出相同的结果:
CAST(COALESCE(JSON_EXTRACT(item.price_details, "$.shipping.price"), 0) AS FLOAT) AS shippricecoalfloat
COALESCE(CAST(JSON_EXTRACT(item.price_details, "$.shipping.price") AS FLOAT), 0) AS shippricefloatcoal
为了核实一下,我还加了一个JSON_EXTRACT(item.price_details, "$.shipping.price") AS shipprice
结果:
MariaDB版本:mariadb Ver 15.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
DB Fiddle (I couldn't use the same MariaDB version but it behaves the same anyways apparently)