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

Chèn ngày giờ trong SQL mà không có mili giây bằng cách sử dụng một tham số

Trong khi bạn có thể trừ số mili giây như được đề xuất trong nhận xét, điều đó sẽ vẫn để lại cho bạn các giá trị mili giây. Đó có thể không gây ra sự cố, nhưng có thể trình điều khiển sẽ làm tròn giá trị phần nghìn giây lên đến cả phần nghìn giây. Nó sạch hơn (IMO) để tránh có bất kỳ giá trị giây con nào, để giá trị bạn chèn vào giống với giá trị được lưu trữ. Tôi muốn sử dụng:

var truncated = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day,
                             dtNow.Hour, dtNow.Minute, dtNow.Second);
// Use truncated as the parameter in your command

Bằng cách đó rõ ràng sẽ chỉ có giá trị năm / tháng / ngày / giờ / phút / giây.

Nếu bạn thấy mình làm việc này thường xuyên, bạn có thể viết một phương thức mở rộng để bạn có thể sử dụng:

var truncated = dtNow.TruncateToSecond();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để convert (varchar, float) quyết định giữ bao nhiêu chữ số thập phân?

  2. Sử dụng chỉ mục trong bảng được tối ưu hóa bộ nhớ máy chủ SQL

  3. Trình kích hoạt có lỗi ở hành động đầu tiên

  4. FixedLenNullInSource trong sp_help có nghĩa là gì?

  5. Cách đặt thứ hai là ngày đầu tuần trong SQL Server