我使用log explorer 在sql生成2个表,一个主表bak具体明细表bak_details现在要使用这2个表恢复数据,他的明细有2行,该如何使用?我写的查询:
update 用户信息 set 维护费到期日期 =
(select bak_details.val1 from bak_details,bak 
where colname='upsize_ts' and bak_details.tid=bak.tid ) 
where 用户信息.upsize_ts in 
(select convert(timestamp,bak_details.val2) from bak_details,bak
 where colname='upsize_ts' and bak_details.tid=bak.tid )
将bak_details.val2从varchar转换为timestamp后所有行都转换为了0x3078303030303030,该怎么转换?这个语句有不少错误,赋值部分也不对,帮我改下,子查询嵌套不太会用。
另分很少了,那个老大能给点分……

解决方案 »

  1.   

    http://blog.csdn.net/HEROWANG/archive/2008/11/20/3342875.aspx
      

  2.   

    update a set 维护费到期日期 =
    (select a.val1 from (select * from bak_details where colname='维护费到期日期') a,
                                (select * from bak_details where colname='upsize_ts') b
                    where a.tid=b.tid and b.val=t.upsize_ts)  
    from 用户信息 t
      

  3.   

     convert(timestamp,bak_details.val2)-->>>cast(@t as datetime)
      

  4.   

    update t set 维护费到期日期 =
    (select a.val1 from (select * from bak_details where colname='维护费到期日期') a,
                                (select * from bak_details where colname='upsize_ts') b
                    where a.tid=b.tid and b.val2=t.upsize_ts)  
    from 用户信息 t
      

  5.   

    消息 260,级别 16,状态 3,第 1 行
    不允许从数据类型 varchar 到数据类型 timestamp 的隐式转换(表 'b',列 'val2')。请使用 CONVERT 函数来运行此查询。
      

  6.   

    把你的VAR1和VAR2都转换为VARBINARY型