软件里的时间是不需要我来设置的,而且同一款软件同事电脑都用的很正常,只有我的电脑不行,很郁闷
追答关于日期的转换错误常见问题有三种。
第一种是试图转换不存在的日期。按照你说的情况是不存在的。
第二种是日期格式错误但是程序又没有格式化处理日期。比如本地使用长日期‘2015-03-05’ 程序转换使用‘25/03/05’类似问题。提示应该是转换失败。
第三种是本地日期和服务器时间没有同步,通常会导致查询不到数据。
你可以试一下把日期格式改成和同事相同,然后同步下时间。如果还不可以,那就不清楚为什么了。最彻底也是最无奈最万能的办法就是重装操作系统试试
应该是varchar里面的时间范围超出了datetime类型的范围,建议使用datetime2,。
背景知识:
SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。
各时间类型范围、精度一览表:
数据类型 时间范围 精度
datetime 1753-01-01到9999-12-31 00:00:00 到 23:59:59.997 3.33毫秒
smalldatetime 1900-01-01 到 2079-06-06 00:00:00 到 23:59:59 分钟
date 0001-01-01 到 9999-12-31 天
time 00:00:00.0000000 到 23:59:59.9999999 100 纳秒
datetime2 0001-01-01 到 9999-12-31 00:00:00 到 23:59:59.9999999 100 纳秒
datetimeoffset 0001-01-01 到 9999-12-31 00:00:00 到 23:59:59.9999999 -14:00 到 +14:00 100 纳秒
各时间类型表达式一览表:
数据类型 输出
time 12:35:29. 1234567
date 2007-05-08
smalldatetime 2007-05-08 12:35:00
datetime 2007-05-08 12:35:29.123
datetime2 2007-05-08 12:35:29. 1234567
datetimeoffset 2007-05-08
12:35:29.1234567 +12:15