2011-07-21 74 views
17

我需要日期为ddmmyyyy,没有任何间隔符。在SQL Server中返回日期为ddmmyyyy

我该怎么做?

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

得到yyyymmdd但我需要的这种相反。

SQL Server 2008中

回答

30

CONVERT风格103是DD/MM/YYYY。然后使用REPLACE函数来消除斜杠。

SELECT REPLACE(CONVERT(CHAR(10), [MyDateTime], 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) 
+0

你应该格式化您的答案,让“代码”就像这样出现。在用于答案的文本编辑器中,有按钮,看起来像{}。选择文本,然后按下该按钮。 – Puuskis

2

我找到了一种方法来做到这一点无需更换斜线

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

这将返回: “年月日”

+1

OP明确表示这不是他想要的 –

2

我一直这样做多年;

print convert(char,getdate(),103) 
6

只是为了记录在案,因为SQL 2012,您可以使用FORMAT,就这么简单:

SELECT FORMAT(GETDATE(), 'ddMMyyyy') 

(OP的问题是具体的关于SQL 2008)

+1

也适用于SQL Azure。谢谢! –

相关问题