Sorting String menjadi Integer Postgresql

Halo rekan semua, mudah-mudahan selalu dalam keadaan sehat selalu. Kembali siang ini saya ingin membagikan pemecahan permasalahan yang singkat. Permasalahan yang saya hadapi yaitu saya ingin melakukan pengurutan dalam sebuah record di postgresql (Sorting). Sintaks pengurutan di postgresql sama seperti di MySQL. Namun yang menjadi permasalahan adalah field yang akan di sorting bertipe data “character”. Sehingga jika record bernilai 10 maka akan duluan ditampilkan dibandingkan dengan record bernilai 2.

Jika field yang akan di sorting bertipe data Integer tentu akan mudah melakukan sorting. Setelah sempat cari-cari di Mbah Google dan tentunya Stack Overflow, saya menemukan bahwa field yang akan di sorting harus di convert dulu menjadi tipe data Integer dengan sintaks seperti berikut :

$query = $this->db->query(“SELECT * FROM skema.tabel  ORDER BY tabel.field::INT ASC”)->result_array();

Setelah mendapatkan script itu, ternyata saya masih mempunyai kendala yaitu field yang ingin diurutkan masih mempunya entry character, sehingga character itu harus direplace dengan script seperti berikut :

$query= $this->db->query(“SELECT * FROM skema.tabel ORDER BY (REPLACE(tabel.field, ‘Karakter Yang Ingin Direplace’, ‘Kata Replacenya’))::INT ASC”)->result_array();

 

Semoga membantu rekan semua 🙂

Add a Comment

Your email address will not be published. Required fields are marked *