你查一下Convert转换日期的帮助吧,
Update 之前用Convert作一下转换,
Update Test Set aa =  Convert(Char,'.....',21)

解决方案 »

  1.   

    update test set aa ='2002-12-26 11:11:12'
      

  2.   

    to gzhughie(hughie):
      因为我的日期是用函数取得的,其返回值年份为2位,而且该函数在很多地方用到,改起来不是很方便,是否有其他更有效的方法,例如设置一下参数等.
      

  3.   

    SQL Server会自动把合法的字符类型转换为日期类型的
    带日期时间类型可以这样
    update test set aa = convert(datetime,'02-12-26 11:11:12')
    只带日期可以这样
    update test set aa = convert(varchar(10),convert(datetime,'02-12-26 11:11:12'),120)
      

  4.   

    我的问题是这样的,我有一个datetime型变量ld_date, 该变量通过函数得到当前日期及时间,ld_date = now(),然后我用update更新数据库中的日期,update test set aa = ld_date, 此时ld_date中的日期格式为'02-12-26 11:11:12',即2002年12月26日, 而写到数据库中则变为2026年02月12日,我不知道怎么会这样,有没有什么较简单的方法处理,例如设置一下参数.
      

  5.   

    你函数的返回值一定不是'02-12-26 11:11:12'这样的格式,如果是这样的格式,是不会出错的,你是用其他编程语言写的函数吧,不同的语言可能对日期的计算方法不同,所以你在程序里可能看到的日期是'02-12-26 11:11:12',但转到另一种语言时,就不同了。
    你的目的是不是得到当前值,如果是这样,建议你UPDATE的语句改为这样
    update test set aa =GETDATE()
    用SQL自带的函数GETDATE()得到当前时间,你觉得怎么样。
      

  6.   

    to gzhughie(hughie):
      你的建议不错,但我想搞清楚是怎么回事,我用的是asp里的函数now(), 其返回值
    千真万确是'02-12-26 11:11:12', 因为我在sql server中直接执行sql语句update test set aa ='02-12-26 11:11:12',其结果也是2026-02-12, 这个问题真是太奇怪了.但不管怎么,还是谢谢各位的帮忙.
      

  7.   

    你可以把aa 先在asp中format 成
    '2002-12-26 11:11:12'然后在用
    SQL语句