SQL server中,varchar转换为datetime类型

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)

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网