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

Linq:Urutkan berdasarkan Tanggal saat disimpan sebagai teks

Anda dapat menambahkan kolom yang dihitung ke tabel yang akan mengonversi string tersebut menjadi tanggal ketika diskriminator Anda memiliki nilai tertentu (di sini saya baru saja menggunakan 'date' ).

ALTER TABLE Foo
ADD trueDate AS
    CASE 
        WHEN type = 'date' THEN CONVERT(date, 'mixedColumn', 101)
        ELSE NULL
    END
PERSISTED

Jika Anda memiliki informasi waktu, maka date seharusnya datetime di CONVERT() fungsi.

Juga, 101 adalah kode gaya yang menunjukkan format yang diharapkan dari MM/dd/yyyy . Jika Anda memiliki sesuatu yang berbeda, lihat ini:http://msdn.microsoft. .com/en-us/library/ms187928.aspx , tetapi perlu diingat bahwa jika Anda menggunakan gaya di bawah 100, ekspresi Anda akan dianggap non-deterministik dan Anda tidak dapat membuat kolom yang dihitung PERSISTED , jadi konversi akan dilakukan dengan cepat dengan setiap kueri (Anda tidak menginginkannya).

Kolom yang dihitung akan memperbarui dirinya sendiri ketika nilai baris berubah; jika tidak, nilainya dipertahankan dan dapat ditanyakan seperti di kolom lainnya. Tidak diperlukan pemicu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kerangka Entitas:Sudah ada DataReader terbuka yang terkait dengan Perintah ini

  2. Apa gunanya GO di SQL Server Management Studio &Transact SQL?

  3. Cara menonaktifkan semua Batasan Periksa di Database SQL Server - Tutorial SQL Server / TSQL Bagian 87

  4. Bisakah Anda memiliki logika if-then-else dalam SQL?

  5. Cara membuat pemicu yang akan menyimpan data yang dihapus (beberapa catatan) ke Tabel Produksi