更改日期格式

时间:2016-08-01 04:28:53

标签: sql sql-server tsql

我有2016-08-01 03:00:00.000格式的名为TimeStampUTC的日期字段,但我需要在01/08/2016

中返回

我使用以下查询

SELECT   Convert(varchar(2),DATEPART(DAY, a.TimeStampUTC)) + '/'+ Convert(varchar(2),DATEPART(MONTH, a.TimeStampUTC)) + '/' + Convert(varchar(4),DATEPART(year, a.TimeStampUTC))   AS Date FROM table AS a   WHERE a.TimeStampUTC > '$startDate' AND a.TimeStampUTC <='$endDate'

问题是它返回1/8/2016

如何编写查询以将其作为01/08/2016方式返回。

4 个答案:

答案 0 :(得分:1)

您可以使用CONVERT()函数

获取不同的日期时间格式
SELECT   
Convert(varchar(15),TimeStampUTC,103 )   AS Date 
FROM table AS a   
WHERE a.TimeStampUTC > '$startDate' AND a.TimeStampUTC <='$endDate'

您可以在此处找到不同的日期格式代码:http://www.w3schools.com/sql/func_convert.asp

答案 1 :(得分:0)

您可以使用 DATE_FORMAT()

  

DATE_FORMAT( yourdate ,&#39;%D-%间 - %Y&#39)

供您参考:sql date formats

答案 2 :(得分:0)

declare @TimeStampUTC datetime='2016-08-01 03:00:00.000' 
        select CONVERT(VARCHAR(10),convert(date,@TimeStampUTC),103)

答案 3 :(得分:0)

假设您正在寻找DD / MM / YYYY,您可以试试这个:

select REPLACE(CONVERT(varchar(15), a.TimeStampUTC, 105),'-','/')