返回日期在SQL Server中为ddmmyyyyy

问题描述 投票:19回答:7

我需要没有任何空格的日期作为ddmmyyyy

我该怎么做?

我可以使用yyyymmdd获得CONVERT(VARCHAR, [MyDateTime], 112)

但是我需要与此相反。

SQL Server 2008

sql-server sql-server-2005 date-formatting
7个回答
38
投票

CONVERT样式103为dd / mm / yyyy。然后使用REPLACE功能消除斜线。

SELECT REPLACE(CONVERT(CHAR(10), [MyDateTime], 103), '/', '')

16
投票

仅作记录,自SQL 2012起,您可以使用FORMAT,就像这样简单:

SELECT FORMAT(GETDATE(), 'ddMMyyyy')

(op问题特定于SQL 2008)


7
投票
SELECT REPLACE(CONVERT(VARCHAR(10), THEDATE, 103), '/', '') AS [DDMMYYYY]

如此处所示:http://www.sql-server-helper.com/tips/date-formats.aspx


2
投票

我已经这样做了多年;

print convert(char,getdate(),103)

1
投票
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)

1
投票

我找到了一种无需替换斜线的方法

select CONVERT(VARCHAR(10), GETDATE(), 112)

这将返回:“ YYYYMMDD”


0
投票

尝试一下:

SELECT CONVERT(DATE, STUFF(STUFF('01012020', 5, 0, '-'), 3, 0, '-'), 103);

它与SQL Server 2016一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.