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

Konversi string ke nilai datetime di LINQ

Mungkin ada baiknya melakukan parsing secara lokal daripada di database, melalui AsEnumerable :

var query = db.tb1.Select(tb => tb.dt)
                  .AsEnumerable() // Do the rest of the processing locally
                  .Select(x => DateTime.ParseExact(x, "yyyyMMdd",
                                                CultureInfo.InvariantCulture));

Pemilihan awal adalah untuk memastikan bahwa hanya kolom yang relevan yang diambil, bukan keseluruhan entitas (hanya sebagian besar yang akan dibuang). Saya juga menghindari penggunaan jenis anonim karena sepertinya tidak ada gunanya di sini.

Perhatikan bagaimana saya menentukan budaya invarian - Anda hampir pasti tidak ingin hanya menggunakan budaya saat ini. Dan saya telah mengubah pola yang digunakan untuk penguraian, seperti yang terdengar seperti sumber . Anda data ada di yyyyMMdd format.

Tentu saja, jika memungkinkan, Anda harus mengubah skema database untuk menyimpan nilai tanggal dalam kolom berbasis tanggal, bukan sebagai teks.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Mengembalikan Daftar Pekerjaan Agen SQL Server (T-SQL)

  2. SQL Server 2017 Langkah demi Langkah Instalasi -1

  3. Masukkan kueri dalam Fungsi SQL

  4. Pemantauan TempDB SQL Server dengan Menggunakan Tampilan Manajemen Dinamis (DMV)

  5. Kesalahan SQL Server - HRESULT E_FAIL telah dikembalikan dari panggilan ke komponen COM