Шаблон даты и времени для кода шаблона yyyy.mm.dd.hh.mm.ss - PullRequest
0 голосов
/ 27 июля 2010

Что такое ФОРМАТ ДАТЫ для "yyyy.mm.dd.hh.mm.ss"?

Я знаю, что 34 (код формата даты) это "yyyymmddhhmmss", но как насчет кода"yyyy.mm.dd.hh.mm.ss"?

Это на SQL 2005.

Ответы [ 3 ]

3 голосов
/ 27 июля 2010

CAST и CONVERT на MSDN говорит "нет".

Вам нужно дважды CONVERT со стилями 102 и 108, с объединением и REPLACE.

Где это былоВы получаете код формата даты "34" от?

1 голос
/ 13 июня 2013

Учитывая

 SELECT CONVERT(VARCHAR(16), GETDATE(), 120) AS [YYYY-MM-DD] 
 ---returns--- yyyy-mm-dd hh:ss

, и вы можете использовать REPLACE для преобразования строк

 REPLACE('a b c',' ','.')  
 ----returns--- a.b.c

, и вы можете рекурсивно складывать вещи, которые вы получаете, в эти

Select (
    replace((replace((replace(CONVERT(VARCHAR(16), GETDATE(), 120),' ','.')), ':', '.')), '-', '.')
    )

, которыевозвращает: yyyy.mm.dd.hh.ss

отлично работает с метками даты и времени!

1 голос
/ 27 июля 2010

Как сказал gbn, можно использовать один из существующих форматов с некоторой конкатенацией строк. Другой вариант:

SELECT
    CAST(YEAR(my_date) AS CHAR(4)) + '.' +
    RIGHT('0' + CAST(MONTH(my_date) AS VARCHAR(2)), 2) + '.' +
    RIGHT('0' + CAST(DAY(my_date) AS VARCHAR(2)), 2) + '.' +
    RIGHT('0' + CAST(DATEPART(HOUR, my_date) AS VARCHAR(2)), 2) + '.' +
    RIGHT('0' + CAST(DATEPART(MINUTE, my_date) AS VARCHAR(2)), 2) + '.' +
    RIGHT('0' + CAST(DATEPART(SECOND, my_date) AS VARCHAR(2)), 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...