Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstaw datę i godzinę w SQL bez milisekund za pomocą parametru

Chociaż możesz odejmij liczbę milisekund zgodnie z sugestią w komentarzach, co nadal pozostawiłoby wartości submilisekundowe. To może nie powoduje problemu, ale możliwe, że sterownik zaokrągli wartość submilisekundową do pełnej milisekundy. Czystsze (IMO) jest uniknięcie jakiejkolwiek wartości subsekundowej, tak aby wstawiona wartość była taka sama jak wartość, która jest przechowywana. Wolałbym używać:

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

W ten sposób wyraźnie tylko mieć wartości roku/miesiąca/dzień/godziny/minuty/sekundy.

Jeśli zauważysz, że robisz to regularnie, możesz napisać metodę rozszerzenia, dzięki której będziesz mógł używać:

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. SQL Server 2016:tworzenie procedury składowanej

  2. Jak przekonwertować z jednego formatu daty na inny, w serwerze Microsoft SQL?

  3. Wyzwalaj i aktualizuj do wiersza w SQL Server po jego aktualizacji

  4. Instrukcje SQL Server SELECT powodujące blokowanie

  5. ExecutenonQuery nie działa