Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Arah pesanan dinamis

Anda dapat memiliki dua ORDER BY yang hampir identik item, satu ASC dan satu DESC , dan perpanjang CASE . Anda pernyataan untuk membuat satu atau yang lain selalu sama dengan nilai tunggal:

ORDER BY
      CASE WHEN @OrderDirection = 0 THEN 1
      ELSE
           CASE WHEN @OrderByColumn = 'AddedDate' THEN CONVERT(varchar(50), AddedDate)
                WHEN @OrderByColumn = 'Visible' THEN CONVERT(varchar(2), Visible)
                WHEN @OrderByColumn = 'AddedBy' THEN AddedBy
                WHEN @OrderByColumn = 'Title' THEN Title
           END
      END ASC,
      CASE WHEN @OrderDirection = 1 THEN 1
      ELSE
           CASE WHEN @OrderByColumn = 'AddedDate' THEN CONVERT(varchar(50), AddedDate)
                WHEN @OrderByColumn = 'Visible' THEN CONVERT(varchar(2), Visible)
                WHEN @OrderByColumn = 'AddedBy' THEN AddedBy           
                WHEN @OrderByColumn = 'Title' THEN Title
           END
      END DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengisi tanggal yang hilang berdasarkan grup

  2. Cara Mengubah Susunan Level Server dari Menjalankan Instance SQL Server

  3. Bagaimana cara memasukkan catatan dan mengembalikan ID yang baru dibuat menggunakan SqlCommand tunggal?

  4. Dapatkan Nama Hari Singkat di SQL Server (T-SQL)

  5. Apa cara tercepat untuk menyisipkan banyak data secara massal di SQL Server (klien C#)