23

我需要ddmmyyyy没有任何间隔的日期。

我怎样才能做到这一点?

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

但我需要反过来。

SQL Server 2008

4

8 回答 8

44

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

SELECT REPLACE(CONVERT(CHAR(10), [MyDateTime], 103), '/', '')
于 2011-07-21T01:59:57.277 回答
19

仅作记录,自 SQL 2012 起,您可以使用FORMAT,如下所示:

SELECT FORMAT(GETDATE(), 'ddMMyyyy')

(操作问题特定于 SQL 2008)

于 2015-11-04T19:41:03.610 回答
7
SELECT REPLACE(CONVERT(VARCHAR(10), THEDATE, 103), '/', '') AS [DDMMYYYY]

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

于 2011-07-21T02:00:33.483 回答
3

多年来我一直这样做;

print convert(char,getdate(),103)
于 2014-02-25T13:03:57.437 回答
2

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

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

这将返回:“YYYYMMDD”

于 2014-02-11T09:33:55.277 回答
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)
于 2013-07-23T05:36:54.767 回答
0

尝试这个:

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

它适用于 SQL Server 2016。

于 2020-02-19T10:43:58.290 回答
0

尝试以下查询以格式化 sql server 中的日期时间

格式 (frr.valid_from , 'dd/MM/yyyy hh:mm:ss')

于 2020-09-18T08:10:10.957 回答