SQL server中,varchar转换为datetime类型

SQLserver中,某一列类型为Varchar(50)保存时间年月日(如:20180406),想要将这一列的数据改为datetime类型的年月日格式,求具体方法和代码举... SQL server中,某一列类型为Varchar(50)保存时间年月日(如:20180406),想要将这一列的数据改为datetime类型的年月日格式,求具体方法和代码举例。 展开
 我来答
yinfengnong
2018-04-06 · TA获得超过5619个赞
知道大有可为答主
回答量:2344
采纳率:89%
帮助的人:2298万
展开全部

你是想 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)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式