2016-09-14 42 views
1

我想将日期格式从2016-04-04T00:00:00更改为dd/mm/yyyy。 [Target_Hire_Date]是我想要更新的列。我的代码可以显示结果,但有错误。你能帮我么?非常感谢!根据现有记录更改日期格式

select convert(nvarchar(10),CONVERT(date,[Target_Hire_Date],103),103) 
from [master].[dbo].[1A] 

错误: error

结果: result

+0

转换为日期不需要额外的参数。 – ZLK

+0

你的意思是不需要额外的参数? @ZLK – meow

+0

如同,在转换日期时可以删除“103”。例如'CONVERT(DATE,[Target_Hire_Date])' – ZLK

回答

0
Use Today Date To Convert dd/mm/yyyy Format 

SELECT convert(VARCHAR(10),CONVERT(date,CAST(FLOOR(CAST(CONVERT(DATETIME, GETDATE()) AS FLOAT)) AS DATETIME),103),103) 
+0

您的代码正在运行,但出现错误'Msg 241,Level 16,State 1,Line 2 转换日期和/或时间字符串时转换失败。你知道如何解决它吗? – meow

+0

PLZ给我你的输入日期合成字符串。 –

+0

这是现有记录,数据类型是nvarchar(255)2016-04-04T00:00:00,我想更改为dd/mm/yyyy。 – meow

0

尝试用下面的查询。

 SELECT CONVERT(VARCHAR(10),[Target_Hire_Date],103) 
     FROM [master].[dbo].[1A] 
0
DECLARE @Dt NVARCHAR(255) 
SET @Dt = '2016-04-25T00:00:00' 
SELECT CONVERT(NVARCHAR(10), CONVERT(DATE, CAST(FLOOR(CAST(CONVERT(DATETIME, @Dt) AS FLOAT)) AS DATETIME), 103), 103) 
0

使用第一投你的约会对象转换成SMALLDATETIME,然后使用转换为DD/MM/YYYY转换

代码如下

select convert(varchar(10),cast('2016-04-04T00:00:00' as smalldatetime),103) date