2014-04-17 14 views

Odpowiedz

13

To wydaje się działać:

declare @d datetime 
set @d = '2014-04-17 13:55:12' 

select replace(convert(varchar(8), @d, 112)+convert(varchar(8), @d, 114), ':','') 

Wynik:

20140417135512 
+0

Dzięki dla zapytania ... to wyglądać całkiem prosty.. – vignesh

0

Inną opcją Mam google, ale zawiera kilka zastąpić ...

SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19), CONVERT(DATETIME, getdate(), 112), 126), '-', ''), 'T', ''), ':', '') 
8
SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19), CONVERT(DATETIME, getdate(), 112), 126), '-', ''), 'T', ''), ':', '') 
13

Ponieważ SQL Server w wersji 2012 można użyć:

SELECT format(getdate(),'yyyyMMddHHmmssffff') 
0

To zapytanie jest konwersja do formatu DateTimeOffsetyyyyMMddhhss z offsetem. Zamieniłem łączniki, colon(:), period(.) na dane i zachowałem łącznik w celu odseparowania przesunięcia od DateTime.

SELECT REPLACE(SUBSTRING(CONVERT(VARCHAR(33),SYSDATETIMEOFFSET(),126), 1, 8), '-', '') + 
SUBSTRING(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(33), SYSDATETIMEOFFSET(), 126),'T',''),'.',''),':',''),9,DATALENGTH(CONVERT(VARCHAR(33), SYSDATETIMEOFFSET(), 126))) 
Powiązane problemy