sql >> Database teknologi >  >> RDS >> Sqlserver

Konverter varchar til datetime i sql, som har millisek

Du kan bruge stil 121, men du kan have kun 3 cifre i 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 sortere det ved at begrænse varchar-feltet til 23 tegn, før du konverterer som:

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

Eller brug Left() funktion for at få de første 23 tegn som:

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

Prøv at undgå at gemme dato som streng.



  1. PostgreSQL:Vis tabeller i PostgreSQL

  2. Finder du hvilke ord et sæt bogstaver kan skabe?

  3. Tjek streng af tegn er en gyldig dato eller ej

  4. Returner flere rækker på en enkelt post