форматирование даты в SQL - PullRequest
1 голос
/ 07 ноября 2011

Мне бы хотелось, чтобы моя дата была ГГГГ-ММ-ДД (ДД-ММ-ГГГГ), я не могу перевести ее в эту форму.Я уже посмотрел на CAST и конвертировать T-SQL .

Как общий вопрос, можно ли отформатировать дату в соответствии с моими потребностями, например, DD-MM (ГОД) и т. Д. Вы можете легко сделать это в MYSQL.

SELECT GETDATE() // start with this query

BTWПоиск Stackoverflow не хорош.Я не могу найти похожий вопрос в 2M + вопросах.

Ответы [ 4 ]

1 голос
/ 07 ноября 2011

Чтобы получить дату без времени:

--char(10) limits the length to 10 characters thereby removing the time stamp
SELECT CONVERT(char(10), GetDate(),126) -- Output: 2011-11-07

Чтобы получить дату с отметкой времени:

SELECT CONVERT(VARCHAR, GetDate(), 126) --Output: 2011-11-07T13:42:25.913

См. Документы MSDN для всех возможныхформаты.

0 голосов
/ 07 ноября 2011

Это определенно НЕ самый быстрый вариант, но он соответствует тому, что вы просили, и может пригодиться кому-то еще в будущем.

DECLARE @date DATETIME
SET @date = GETDATE()
SELECT CAST(DATEPART(YYYY, @date) AS NVARCHAR(4)) + '-' 
 + CAST(DATEPART(MM, @date) AS NVARCHAR(2)) + '-'
 + CAST(DATEPART(DD, @date) AS NVARCHAR(2)) + ' ('
 + CAST(DATEPART(DD, @date) AS NVARCHAR(2)) + '-'
 + CAST(DATEPART(MM, @date) AS NVARCHAR(2)) + '-'
 + CAST(DATEPART(YYYY, @date) AS NVARCHAR(4)) + ')' 

Он выводит:

2011-11-7 (7-11-2011)
0 голосов
/ 07 ноября 2011
SELECT CONVERT(VARCHAR(19), GETDATE(), 120) /*YYYY-MM-DD HH:MI:SS(24h)*/

SELECT CONVERT(VARCHAR(23), GETDATE(), 126) /*YYYY-MM-DDTHH:MM:SS:MMM*/

SELECT CONVERT(VARCHAR(10), GETDATE(), 102) AS [YYYY.MM.DD]

SELECT CONVERT(VARCHAR(10), GETDATE(), 111) AS [YYYY/MM/DD]
0 голосов
/ 07 ноября 2011

Попробуйте отформатировать 120:

SELECT CONVERT(VARCHAR, GETDATE(), 120) -- result: 2011-11-07 13:48:45

Если вы хотите обрезать это так, чтобы возвращалась только часть даты, укажите ограничение размера для преобразования VARCHAR:

SELECT CONVERT(VARCHAR(10), GETDATE(), 120) -- result: 2011-11-07
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...