SQL Server: как получить текущее время в YYYYMMDDHHMISSMSS

Мне нужно текущее время в формате YYYYMMDDHHMISSMIS

Пример:

20110723233747607

Используя функции CURRENT_TIMESTAMP или getdate(), мы можем получить текущее время и время в формате 2011-07-23 23:37:47.607. Если я использую функции REPLACE и CONVERT для удаления символов "-" и ":", я получаю значение в

Jul 23 2011 11:37PM

... формат. Но мне нужно текущее время в качестве 20110723233747607, чтобы использовать его для моей другой цели.

Мой SQL-запрос:

SELECT REPLACE(CONVERT(VARCHAR(20), CURRENT_TIMESTAMP),'.','')

вывод: Jul 23 2011 11:37PM

Итак, как я могу получить текущее время в моем обязательном формате? Помощь Pls.

Ответ 1

select replace(
       replace(
       replace(
       replace(convert(varchar(23), getdate(), 121),
       '-',''),
       '.',''),
       ' ',''),
       ':','')

Ответ 2

Я не знаю, почему вам нужно использовать так много функций REPLACE(). Использование функций действительно уменьшает время выполнения. Я использовал две функции CONVERT и одну REPLACE ниже.

SELECT CONVERT(VARCHAR(8), GETDATE(), 112) + REPLACE(CONVERT(VARCHAR(12), GETDATE(), 114),':','')