Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Вмъкнете дата и час в SQL без милисекунди с помощта на параметър

Докато можехте извадете броя на милисекундите, както е предложено в коментарите, което пак ще ви остави със стойности за субмилисекунди. Това може не създава проблем, но е възможно драйверът да закръгли стойността на субмилисекунда до цяла милисекунда. По-чисто е (IMO) да избягвате изобщо да имате някаква подсекунда стойност, така че стойността, която вмъквате, да е същата като стойността, която се съхранява. Предпочитам да използвам:

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

По този начин ще стане ясно само имат стойности година/месец/ден/час/минута/секунда.

Ако установите, че правите това редовно, може да искате да напишете метод за разширение, така че да можете да използвате:

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 в T-SQL?

  2. Свързване на 4 таблици в SQL Server чрез Join

  3. Заменете единичните кавички в SQL Server

  4. SQL Server Невалидно име на колона след добавяне на нова колона

  5. Използвайте @@IDENTITY, за да върнете последно въведената стойност на самоличността в SQL Server