wwfl.net
当前位置:首页 >> 关于vArChAr类型转换成DAtEtimE类型的问题 >>

关于vArChAr类型转换成DAtEtimE类型的问题

你是想 select 出来这一列数据是 datetime 格式还是要这个表结构的这列修改为 datetime 类型?如果只是想 select 这列数据是 datetime 可以使用 convert 函数 将其转换成 datetime 类型,下面代码是一个示例可以参考一下:declare @str varchar(50); set @str = '20180406' select convert(datetime, @str, 112)

提示很明显是在varchar类型转到datetime类型时出错,这个时间是你选择的还是输入的?根据经验有可能是日期超出了范围.比如2月只有28天,要转换的varchar是'2015-02-30'这样的情况.或者出现'2015-04-31'类似的范围超出

-- SQLSever:select convert(datetime,(convert(varchar(10),19810409)))

首先,要确定varchar格式内的数据是否符合datetime的数据格式. 其次,如果varchar数据只是部分为datetime数据,则要先截取其中符合条件的字符,再进行转换. 再次,通过CAST函数进行转换示例: 1.假设varchar数据为'2016-05-02 12:00:

基本上就是用if else 往sql里面insert要先判断 nvarchar 的格式,转化成 类似于 2014-12-19 往datatime里面插入就行

使用TO_DATE(x[,format])将字符串转换为时间值比如 to_date('01-7月-2012 18:28:23','DD-MON-YYYY HH24:MI:SS')

你用字符串表示日期,最大的问题是系统默认的日期格式是什么?综合你的描述:这个是错的,'14.5.1985'这个是对的,'3.2.1980'估计你的系统默认的格式是: m.d.yyyy建议:1. 转成日期再插入insert into mitarbeiter values (10102,'a3','huber','petra', convert(datetime,'1985-05-14 00:00:00',120),'w',3000.0,'varel',26316,'hafenweg 3b',null);如果必须用你自己那个格式'14.5.1985',你自己找一下.2. 或者:明确一下默认的日期格式.

保存时某个字段的类型转换出错,你要查一下表字段类型

比如:SELECT CONVERT(varchar(7),'1989-01-01 00:00')那么返回的值就是1989-01了你在写SQL语句的可以参照如下模型:SELECT CONVERT(VARCHAR(7),字段名) AS 日期FROM 表 PS:VARCHAR(7)代表长度为7,因为XXXX-XX的长度为7

直接改字段不行,只能把数据导出,格式化后再回写

网站首页 | 网站地图
All rights reserved Powered by www.wwfl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com