获取SQL Server中的当前日期

时间:2016-09-08 06:27:19

标签: sql-server tsql getdate

我搜索但无法找到以此格式获取日期的方式(DD.MM.YYYY) 请帮助我更改此请求:

DECLARE @date datetime
set @date = '01.05.2016'
SELECT [User], cast(DATEADD(SECOND, sum(datediff(DAY, @date,[Start])),@date) as date)'Date'
      ,cast(DATEADD(SECOND, sum(datediff(SECOND, '00:00:00',[Period])),'00:00:00') as time)'Total time'
  FROM [Table].[TableAction]
  where
   [Start] >= @date+'00:00:00' and [Start] <= @date+'23:59:59'
   group by [USER]

2 个答案:

答案 0 :(得分:4)

DECLARE @date datetime set @date = GETDATE()

现在输出它,你需要&#34;格式&#34;它

select FORMAT (@date,'MM.dd.yy') as date

enter image description here

答案 1 :(得分:2)

最佳做法是将日期时间以日期时间格式存储在数据库中,只要您需要数据,就可以根据需要对其进行访问和格式化。

 DECLARE @Currentdate DATETIME;
 SET @Currentdate=GETDATE();   -- Store cuurent date into variable

然后当你想要显示它时使用下面的格式将其格式化为dd.MM.YYYY

SELECT CONVERT(VARCHAR(10),GETDATE(),104);  -- format the @Currentdate to the required format.

FORMAT 仅适用于 SQL Server 2012 + 。如果您的数据库是SQL Server 2008或2005,则FORMAT不起作用。在这种情况下,您可以使用CONVERT函数。

因此,如果您的数据库位于 SQL SERVER 2012 之上,您可以按照Tschallacka

的建议选择 FORMAT
DECLARE @Currentdate DATETIME=GETDATE(); -- Store cuurent date into variable

然后当你想要显示它时使用下面的格式将其格式化为dd.MM.YYYY

SELECT FORMAT(@Currentdate,'dd.MM.yyyy')  -- format the @Currentdate to the required format.