Sql 更改日期格式
我有一个名为TimeStampUTC的日期字段,格式为Sql 更改日期格式,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个名为TimeStampUTC的日期字段,格式为2016-08-01 03:00:00.000但我需要以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
2016-08-01 03:00:00.000
但我需要以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'
选择Convert(varchar(2),DATEPART(DAY,a.TimeStampUTC))+'/'+Convert(varchar(2),DATEPART(MONTH,a.TimeStampUTC))+'/'+Convert(varchar(4),DATEPART(year,a.TimeStampUTC))作为表中的日期,其中a.TimeStampUTC>'$startDate'和a.TimeStampUTC可以使用日期格式()
日期格式(您的日期,%d-%m-%Y)
供您参考:您可以使用CONVERT()
函数获取不同的日期时间格式
SELECT
Convert(varchar(15),TimeStampUTC,103 ) AS Date
FROM table AS a
WHERE a.TimeStampUTC > '$startDate' AND a.TimeStampUTC <='$endDate'
选择
将(varchar(15),TimeStampUTC,103)转换为日期
从表中作为
如果a.TimeStampUTC>“$startDate”和a.TimeStampUTC假设您正在查找DD/MM/YYYY,您可以尝试以下方法:
select REPLACE(CONVERT(varchar(15), a.TimeStampUTC, 105),'-','/')
关于convert(varchar(15),TimeStampUTC,101)
@SankarRaj您是否建议在不单独转换日期、月份和年份的情况下使用此字段?如果它是日期字段,无需解析出组件,您可以转换为多种格式之一的字符串。为什么要单独执行此操作?只需使用以下命令:CONVERT(VARCHAR(10),GETDATE(),103)SQL Server没有DATE\u FORMAT()
函数,SQL Server 2012和更新版本有FORMAT()
,但输入日期格式的方式与此处不同。无需用斜线替换短划线,只能使用格式代码103
。103和105都是以天为先,而不是以月为先。是的,这也行!谢谢你,哈特,我也学到了一些新东西:)
select REPLACE(CONVERT(varchar(15), a.TimeStampUTC, 105),'-','/')