你修改的也没错,只不过需要udpate一下 select convert(varchar(30),cast('11 22 2013 10:15AM' as datetime),120) /* 2013-11-22 10:15:00 */--更新一下就行 update MeetingRecording set DT_Time = select convert(varchar(30),cast(DT_Time as datetime),120)
要不要加上“from MeetingRecording”呢?必须要cast吗?
update MeetingRecording set DT_Time = convert(varchar(30),DT_Time ,120)这样就可以了
那你改成datetime类型咯,不过这个要根据本机的区域语言设置
30位的varchar够了,关键是格式
要这样改 alter table MeetingRecording ADD DT_Time2 varchar(50) GO UPDATE MeetingRecording SET DT_Time2 =CONVERT(VARCHAR(50),DT_Time,120) GO ALTER TABLE MeetingRecording DROP COLUMN DT_Time GO SP_RENAME 'MeetingRecording.DT_Time2','MeetingRecording.DT_Time'
Select CONVERT(varchar(100), GETDATE(), 1)--05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)--06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)--16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)--16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)--16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)--16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)--05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)--10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)--05 16 200610:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)--05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)--06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)--060516
Select CONVERT(varchar(100), GETDATE(), 13)--16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)--05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)--05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)--05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)--2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)--16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)--16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)--16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)--16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)--05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)--10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)--05 16 200610:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)--05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)--2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)--20060516
Select CONVERT(varchar(100), GETDATE(), 113)--16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)--10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)--2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)--2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)--2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130)--18 ???? ?????? 142710:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131)--18/04/142710:57:49:920AM
select convert(varchar(30),cast('11 22 2013 10:15AM' as datetime),120)
/*
2013-11-22 10:15:00
*/--更新一下就行
update MeetingRecording
set DT_Time = select convert(varchar(30),cast(DT_Time as datetime),120)
set DT_Time = convert(varchar(30),DT_Time ,120)这样就可以了
alter table MeetingRecording
ADD DT_Time2 varchar(50)
GO
UPDATE MeetingRecording SET DT_Time2 =CONVERT(VARCHAR(50),DT_Time,120)
GO
ALTER TABLE MeetingRecording
DROP COLUMN DT_Time
GO
SP_RENAME 'MeetingRecording.DT_Time2','MeetingRecording.DT_Time'
如果真的不能改变字段类型,就只能试试上面的办法了,不过,还是得cast一下。