如何获得不同格式的sysdate?

时间:2014-02-04 06:06:15

标签: sql sql-server

如何在SQL Server中以下列格式获取sysdate?

  

2014年1月1日

     

2014年1月2日

     

2014年1月3日

M/D/YYYY

我在谷歌搜索,我有不同的格式,但我想要以下格式。请帮帮我。

感谢。

3 个答案:

答案 0 :(得分:2)

使用此代码:

SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [MM/DD/YYYY]

OR

SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [M/D/YYYY]

答案 1 :(得分:1)

查看msdn文章here

中的CONVERT文档

您可以在此处查看多种格式。 对于您的案例使用

SELECT CONVERT(NVARCHAR(20),yourdate,101) as formatteddate

根据您的问题编辑,我建议使用datepart和相关功能,例如MONTH, DAY, YEAR

SELECT CAST(MONTH(GETDATE()) AS VARCHAR(2))+'/'+CAST(DAY(GETDATE()) AS VARCHAR(2))+'/'+CAST(YEAR(GETDATE()) AS VARCHAR(4))

2年后的另一次编辑

SELECT CAST(MONTH(DATEADD(yy,-2,GETDATE())) AS VARCHAR(2))+'/'+CAST(DAY(DATEADD(yy,-2,GETDATE())) AS VARCHAR(2))+'/'+CAST(YEAR(DATEADD(yy,-2,GETDATE())) AS VARCHAR(4))

答案 2 :(得分:0)

SELECT FORMAT ( GETDATE(), 'MM/dd/yyyy', 'en-US' ) AS DateConvert;

Working Fiddle

enter image description here

SELECT FORMAT ( GETDATE(), 'M/d/yyyy', 'en-US' ) AS DateConvert;

Working Fiddle

enter image description here

在两年之前根据需要更新了我的代码

SELECT CAST(MONTH(GETDATE()) AS VARCHAR(2))+'/'+CAST(DAY(GETDATE()) AS VARCHAR(2))+'/'+CAST(YEAR(GETDATE())- 2 AS VARCHAR(4))

<强> Fiddle

enter image description here

了解更多Click here

FORMAT (Transact-SQL)

更新回答

SELECT LTRIM(STR(MONTH(GETDATE())))+'/'+LTRIM(STR(DAY(GETDATE())))+'/'+STR(YEAR(GETDATE()),4)

Fiddle

enter image description here

替代方式

DECLARE @dt datetime
SET @dt= GETDATE()
SELECT LTRIM(STR(MONTH(@dt)))+'/'+LTRIM(STR(DAY(@dt)))+'/'+STR(YEAR(@dt),4)

Fiddle Demo

enter image description here

 SELECT STUFF(REPLACE('/'+CONVERT(CHAR(10),@SomeExampleDate,101),'/0','/'),1,1,'')

Fiddle