我有一个专栏,其日期为“2015年11月2日星期一”。列数据类型为nvarchar(255)。我想将此日期格式转换为“dd-mm-yyyy”。
请帮忙。
答案 0 :(得分:2)
看看这里,105可能是您要找的转换代码
https://msdn.microsoft.com/en-us/library/ms187928.aspx
CONVERT(VARCHAR(10),ISNULL(@yourDate, ''), 105)
答案 1 :(得分:1)
Convert方法将日期转换为指定的样式。这里105表示样式mm / dd / yyyy
CONVERT(VARCHAR(10),GETDATE(),105)
通过改变样式日期可以转换为各种样式。
答案 2 :(得分:1)
首先需要删除de day-name,然后才能转换为datetime。如果需要,您可以转换回varchar。始终将日期时间值保留为datetime数据类型!
SELECT CONVERT(DATETIME, SUBSTRING('Mon, 02 Nov 2015', 5, 12), 105)
修改强>
上述查询返回datetime
,与@JapzDivino建议的相反,它没有格式。
要获得指定的格式,请使用:
SELECT CONVERT(VARCHAR, CONVERT(DATETIME, SUBSTRING('Mon, 02 Nov 2015', 5, 12), 105), 105)
结果:02-11-2015
答案 3 :(得分:1)
试试这种方式
Declare @t as nvarchar(255)
set @t='Mon, 02 Nov 2015'
select CONVERT(date,ISNULL(substring(@t,5,LEN(@t)), ''),105)
答案 4 :(得分:0)
您可以使用CONVERT()
,CHAR()
/ VARCHAR()
:
SELECT CONVERT(CHAR(10), GETDATE(), 105)
result: 10-12-2015
http://www.sql-server-helper.com/tips/date-formats.aspx
https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/