Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Sắp xếp chuỗi số trong Android SQLite

SQLite lưu số dưới dạng TEXT, sắp xếp theo thứ tự từ điển (lexicographic) sai so với số. Cần cast sang số khi ORDER BY.

Ví dụ: bảng SalaryDetails(id, name, salary TEXT). Truy vấn sắp xếp lương giảm dần:

Cursor res = db.rawQuery(
  "SELECT * FROM " + CONTACTS_TABLE_NAME + " ORDER BY CAST(salary AS DECIMAL(6,2)) DESC",
  null);

Các bước demo: tạo project, layout (EditText name/salary, Button Save/Refresh/Update, ListView), DatabaseHelper extends SQLiteOpenHelper, insert/getAllContacts/update/delete.

Khi bấm Refresh, ListView hiển thị tên theo lương DESC đúng kiểu số.