Ответ 1
CONVERT
стиль 103 равен dd/mm/yyyy. Затем используйте функцию REPLACE
для устранения косой черты.
SELECT REPLACE(CONVERT(CHAR(10), [MyDateTime], 103), '/', '')
Мне нужна дата как ddmmyyyy
без каких-либо разделителей.
Как я могу это сделать?
Я могу получить yyyymmdd
с помощью CONVERT(VARCHAR, [MyDateTime], 112)
Но мне нужно обратное.
SQL Server 2008
CONVERT
стиль 103 равен dd/mm/yyyy. Затем используйте функцию REPLACE
для устранения косой черты.
SELECT REPLACE(CONVERT(CHAR(10), [MyDateTime], 103), '/', '')
SELECT REPLACE(CONVERT(VARCHAR(10), THEDATE, 103), '/', '') AS [DDMMYYYY]
Как показано здесь: http://www.sql-server-helper.com/tips/date-formats.aspx
Только для записи, так как SQL 2012 вы можете использовать FORMAT, так же просто, как:
SELECT FORMAT(GETDATE(), 'ddMMyyyy')
(вопрос о конкретном вопросе о SQL 2008)
Я нашел способ сделать это, не заменяя косые черты
select CONVERT(VARCHAR(10), GETDATE(), 112)
Это вернет: "YYYYMMDD"
Я делал это так много лет;
print convert(char,getdate(),103)
select replace(convert(VARCHAR,getdate(),103),'/','')
select right(convert(VARCHAR,getdate(),112),2) +
substring(convert(VARCHAR,getdate(),112),5,2) +
left(convert(VARCHAR,getdate(),112),4)