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

Преобразувайте varchar в datetime в sql, който има милисекунди

Можете да използвате стил 121, но можете да имате само 3 цифри за милисекунди (т.е. yyyy-mm-dd hh:mi:ss.mmm(24h) ) формат.

declare @abc varchar(100)='2011-09-26 16:36:57.810' 
select convert(datetime,@abc,121)

Така че можете да го сортирате, като ограничите полето varchar до 23 знака, преди да конвертирате като:

declare @abc varchar(100)='2011-09-26 16:36:57.810000' 
select convert(datetime,convert(varchar(23),@abc),121)

Или използвайте Left() функция за получаване на първите 23 знака като:

select convert(datetime,left(@abc,23),121)

Опитайте се да избягвате съхраняването на дата като низ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Entity Framework Core 2.0:Как да конфигурирате абстрактен базов клас веднъж

  2. SQL DROP TABLE ограничение за външен ключ

  3. Прочетете всеки JSON в списък с двойки ключ-стойност (EAV формат) в SQL Server

  4. Вземете часове и минути (ЧЧ:ММ) от датата

  5. Преобразувайте „smalldatetime“ в „datetime2“ в SQL Server (примери за T-SQL)