Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

định dạng ngày giờ mysql sử dụng c #

Bạn đang làm sai khi cố gắng bao gồm một giá trị trực tiếp trong truy vấn SQL của bạn để bắt đầu. Sử dụng SQL được tham số hóa và chỉ định giá trị dưới dạng DateTime và giả sử bảng cơ sở dữ liệu của bạn cũng sử dụng trường date / datetime (đúng ra là như vậy), bạn sẽ ổn.

Bạn nên tránh bao gồm các giá trị trực tiếp trong SQL của mình vì ba lý do:

  • Bạn sẽ gặp phải những chuyển đổi chuỗi rắc rối có thể sử dụng các định dạng không phù hợp, v.v. Đó là vấn đề ở đây.
  • Bạn đang mời tấn công chèn SQL
  • Bạn đang trộn mã và dữ liệu, điều này khiến việc đọc mã khó hơn và khó kiểm tra dữ liệu hơn

Bạn muốn một cái gì đó như:

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
}

If Des.despdate không đã là một kiểu dữ liệu phù hợp, bạn nên thay đổi kiểu dữ liệu đó ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn SQL, Chọn 5 gần đây nhất trong mỗi nhóm

  2. Hóa đơn từ nhiều đơn đặt hàng?

  3. lỗi khi sử dụng mysql_real_escape_string ()

  4. Làm thế nào để truy cập thành công cơ sở dữ liệu trên máy tính khác bằng java và jdbc và sql?

  5. Python peewee save () không hoạt động như mong đợi