本帖最后由 wangzhen199009 于 2013-09-12 21:56:40 编辑

解决方案 »

  1.   

    exec 里sql语句字符串连接了 需要把datetime转为字符串类型 不用exec 直接sql语句 
    declare @mydate datetime  
    set @mydate='xxxx-xx-xx xx:xx:xx‘
    select * from AboutDateTime where DateInfo=@mydate  就不会报错
      

  2.   

    不必去纠结这样的问题,你想要得到什么结果,直接用convert()函数转换成你想要的格式,就可以了。真想看是什么样,就print @sql,看它到底是哪里有变化了?
      

  3.   

    是的,但是 现在的需求是我要执行删除操作,不是select而是delete,而且这个delete一定要放在存储过程中做成一个事务
      

  4.   


    declare @mydate datetime  
    set @mydate='2013-07-01 12:12:12'  --精确到秒的参赛
    --select LEN(convert(varchar(50),@mydate,120)) --共19位,所以下面用varchar(19)
    exec('select * from AboutDateTime where convert(varchar(19),DateInfo,120)='''+@mydate+'''') 
      

  5.   

    只要能查出来就一定能删除delete from AboutDateTime 
    exists (select 1 from AboutDateTime where DateInfo=@mydate)  
      

  6.   

    那是必须的,只是有的时候查不出来。exist用的不多,听说挺给力是吧