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

format waktu tanggal mysql menggunakan c #

Anda salah dengan mencoba memasukkan nilai secara langsung dalam kueri SQL Anda untuk memulai. Gunakan SQL berparameter dan tentukan nilai sebagai DateTime , dan dengan asumsi tabel database Anda juga menggunakan bidang tanggal/waktu (yang seharusnya), Anda akan baik-baik saja.

Anda harus menghindari memasukkan nilai secara langsung dalam SQL Anda karena tiga alasan:

  • Anda akan berakhir dengan konversi string yang merepotkan yang dapat menggunakan format yang tidak sesuai, dll. Itulah masalahnya di sini.
  • Anda mengundang serangan injeksi SQL
  • Anda mencampur kode dan data, yang membuat lebih sulit untuk membaca kode dan lebih sulit untuk memeriksa data

Anda menginginkan sesuatu seperti:

string sql = @"Select distinct v.* from Ven v 
               inner join Des d on v.venid=d.venid 
               and cast(d.despdate as datetime) between @start and @end";
using (MySqlCommand command = new MySqlCommand(connection, sql))
{
    command.Parameters.AddWithValue("@start", startDateTime);
    command.Parameters.AddWithValue("@end", endDateTime);
    // Execute the command here
}

Jika Des.despdate bukan sudah menjadi tipe data yang sesuai, Anda harus mengubahnya...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql 5.7 klausa ORDER BY tidak ada dalam klausa GROUP BY dan berisi kolom yang tidak diagregasi

  2. Hapus bagian dari string termasuk karakter tertentu dari string menggunakan MySQL

  3. MySQL max_allowed_packet reset

  4. Konversi detik ke hari, jam, menit, detik (MySQL)

  5. Buat kumpulan hasil yang berbeda menggunakan satu kumpulan hasil