Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Database kamar permintaan dinamis penuh

Anda tidak dapat menggunakan variabel bind (parameter) untuk mereferensikan kolom dalam klausa ORDER BY. Namun, Anda dapat menggunakan variabel bind dalam ekspresi seperti ini:

@Query("select * from coin ORDER BY
CASE :order
WHEN 'percent_change_24h' THEN percent_change_24h
WHEN 'other_column_name' THEN other_column_name
END asc limit :numberOfCoins")
fun getAllTop(order: String, numberOfCoins: Int): Flowable<List<CoinDB>>

Anda perlu menambahkan klausa WHEN terpisah ke pernyataan CASE untuk setiap kolom/ekspresi yang ingin Anda urutkan, dan Anda mungkin perlu atau ingin menambahkan klausa ELSE untuk situasi di mana variabel :order bind tidak cocok dengan salah satu dari kasus standar Anda.

Pembatasan pada variabel bind juga berlaku untuk klausa where dan proyeksi (pilih daftar). Variabel Bind memiliki nilainya sendiri dalam contoh Anda baik String atau Int untuk :order dan :numberOfCoins masing-masing.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Fungsi LOCATE() Bekerja di MySQL

  2. Masukkan beberapa baris ke mysql (item dipisahkan dengan koma)

  3. Bagaimana cara menghapus spasi awal dan akhir di bidang MySQL?

  4. Urutan Panduan yang salah

  5. Terjadi kesalahan fatal selama eksekusi perintah. mysql-connector .net