sql >> Databasteknik >  >> RDS >> Sqlserver

Konvertera varchar till datetime i sql som har millisekunder

Du kan använda stil 121 men du kan ha bara tre siffror för millisekunder (dvs yyyy-mm-dd hh:mi:ss.mmm(24h) ) format.

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

Så du kan reda ut det genom att begränsa varchar-fältet till 23 tecken innan du konverterar som:

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

Eller använd Left() funktion för att få de första 23 tecknen som:

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

Försök att undvika att lagra datum som sträng.



  1. Långsam prestanda för SqlDataReader

  2. Exportera MYSQL-data till Excel/CSV via php

  3. Hur man ringer REPLACE med CLOB (utan att överstiga 32K)

  4. Azure Virtual Machines för användning av SQL Server