如何使用 mysql cast json?



我想从小到大对 Json 中的价格进行排序,但我认为我做错了什么,我到底在哪里会犯错误?

public function kitaplik($id)
{
$this->db->where('kitaplik_isbn', $id);
$this->db->order_by("CAST(json_object('kitaplik_ifiyat', kitaplik_json) AS DECIMAL(9,2))");
$query = $this->db->get('kitaplik');
return $query->result();
}

基塔普利克->kitaplik_json

{"kitap_fiyat":25.46,"kitap_ifiyat":12}

我在"kitaplik"表中有很多产品,这些产品的价格以json为单位。我想使用 CAST Decimal 从小到大对这些产品进行分类。但是我必须通过 json 中"kitaplik_ifiyat"部分中的价格进行排序。我该怎么做?

这就是我解决问题的方式


public function kitaplik($id)
{
$this->db->select("kitaplik_json, kitaplik_isbn, JSON_EXTRACT(kitaplik_json, '$.kitaplik_ifiyat') AS fiyat");
$this->db->where('kitaplik_isbn', $id);
$this->db->order_by('fiyat ASC');
$query = $this->db->get('kitaplik');
return $query->result();
}

相关内容

  • 没有找到相关文章