SQL server中,某一列类型为Varchar(50)保存时间年月日(如:20180406),想要将这一列的数据改为datetime类型的年月日格式,求具体方法和代码举例。
你是想 select 出来这一列数据是 datetime 格式还是要这个表结构的这列修改为 datetime 类型?
如果只是想 select 这列数据是 datetime 可以使用 convert 函数 将其转换成 datetime 类型,下面代码是一个示例可以参考一下:
declare @str varchar(50);set @str = '20180406'
select convert(datetime, @str, 112)追问
想要把表的这一列都变成datetime类型
追答可以先新建一个临时的 datetime 列,然后通过 update 语句 将 varchar(50) 这列通过 convert 转换一下更新到这个临时列,然后把原来那列删除,再把这个临时列的名字改成原来那列的名字。
update 表名 set 临时列=convert(datetime, 原列, 112)
温馨提示:答案为网友推荐,仅供参考