Menggunakan beberapa pernyataan kasus dalam kueri pilih

Hai, saya memiliki kueri berikut yang memeriksa kode untuk menentukan kapan kode itu dimasukkan atau dilihat.

        declare @timestamp datetime;
        select
          case @timestamp
          when a.updatedDate =1760 then 'Entered on' +a.updatedDate
          when a.updatedDate=1710 then  'Viewed on' +a.updatedDate
          else 'Last Updated on'+ a.updatedDate
          end 
         from t_mainTable a
         where a.id=@Id;

Ketika saya mencoba menjalankan kueri ini, kueri ini memberi saya kesalahan

Msg 102, Level 15, State 1, Procedure p_xxxx, line 40
Incorrect syntax near '='.   

Ada beberapa kesalahan syntex di baris kapan. Tolong beritahu saya bagaimana cara memperbaikinya Terima kasih

Larutan

Ada dua cara untuk menulis pernyataan kasus, Anda tampaknya menggunakan kombinasi dari keduanya

case a.updatedDate
    when 1760 then 'Entered on' + a.updatedDate
    when 1710 then 'Viewed on' + a.updatedDate
    else 'Last Updated on' + a.updateDate
end

atau

case 
    when a.updatedDate = 1760 then 'Entered on' + a.updatedDate
    when a.updatedDate = 1710 then 'Viewed on' + a.updatedDate
    else 'Last Updated on' + a.updateDate
end

adalah setara. Mereka mungkin tidak berfungsi karena Anda mungkin perlu mengonversi jenis tanggal ke varchar untuk menambahkannya ke varchar lain.

Komentar (0)