首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为什么日期格式变了,提示“从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界”,该怎么解决

2012-01-19 
为什么日期格式变了,提示“从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界”大家好:现在

为什么日期格式变了,提示“从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界”
大家好:
        现在学习一个运行,我用profiler跟踪,同样的程序,同样的数据库,做同样的操作,一台服务器上执行跟踪出来的语句是:
        update   t_rpcontract   set   fcheckdate= '2007-07-31 '
而在另一台却变成了:
        update   t_rpcontract   set   fcheckdate= '31/7/2007 '
此时提示:
服务器:   消息   242,级别   16,状态   3,行   1
从   char   数据类型到   datetime   数据类型的转换导致   datetime   值越界。
语句已终止。
两台服务器系统均是2003,区域日期格式是:yyyy-mm-dd
不知道是什么原因影响了程序的输出日期格式,请大家指点迷津!万分感激!

[解决办法]
--执行

set dateformat ymd

[解决办法]
sql server里面的问题,在使用日期的转换过程中,我们都把它适用convert或cast转换成了120或121处理了!
[解决办法]
用convert 或者cast 转换后再更新!

update t_rpcontract set fcheckdate= cast( '2007-07-31 ' as datetime)
[解决办法]
= convert(Datetime, '2007-07-31 ', 120)

热点排行