Tsql日期列更新

时间:2013-04-17 14:59:43

标签: sql-server tsql date sql-update

我的日期列位于 yyyy-mm-dd 我想将其转换为 dd / mm / yyyyy 。此列的数据类型为 nvarchar(20)。我愿意更改数据类型。我试过的查询是

Update table1
set Column1= Convert(nvarchar(10),column1,101). 

它正在执行,但没有做任何改变。

2 个答案:

答案 0 :(得分:3)

您的数据确实是一个日期。它目前是一个字符串,因此Convert不会产生任何影响。

你需要:

update table1 set Column1 = Convert(nvarchar(10), Convert(datetime, column1), 101)

但更好的是,您应该考虑将列数据类型更改为datetime,然后convert当您从表中select数据时,将{{1}}更改为所需的格式。

答案 1 :(得分:0)

您需要将值转换两次,

Update table1 
set Column1 = CONVERT(nvarchar(10),CONVERT(datetime, REPLACE(column1,'-','.'), 102), 103)