Я нуждаясь преобразовать даты/времени в следующем формате с помощью SQL: 4 апреля 2016SQL Date Format 107 без ведущих нулей в течение дня
Использование
SELECT
DATENAME(MM, GETDATE()) +
RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [PaymentDate]
получает мне почти то, что мне нужно, однако он ставит ведущий 0 в день, оставляя меня: April 04, 2016
Как я могу избавиться от этого ведущего 0 в день?
Что ваша СУБД и номер версии? Из формата он выглядит как SQL Server? Если да, то какая версия? – Siyual
вы можете получить день с помощью 'CONVERT (VARCHAR, DATEPART (DAY, GETDATE()))', но тогда вам понадобится другая функция для года 'CONVERT (VARCHAR, DATEPART (YEAR, GETDATE()))', если вы используя sql 2012+, вы можете использовать 'CONCAT' для объединения значений без преобразования в varchars' CONCAT (DATENAME (MM, GETDATE()), '', DATEPART (DAY, GETDATE()), ',', DATEPART (YEAR, GETDATE())) ' – JamieD77
К сожалению, в настоящее время я работаю в SQL Server. Вы решили проблему с помощью функции FORMAT(). Ценить это. –