sql2008的存储过程   复制到sql2005执行就出现问题了, declare @logoNumber int
     select @logoNumber=COUNT(*) from A_Logo where (username=@username or loginip=@loginIp) and ActivityID=@ActivityID and CONVERT(date,addtime)=CONVERT(date,GETDATE())下面的提示为:类型 date 不是已定义的系统类型。
我想知道在sql2005中用什么方法能代替sql2008中的date。谢谢各位大侠

解决方案 »

  1.   

    Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16  
      

  2.   

    Select CONVERT(varchar(100), GETDATE(), 0)--05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 1)--05/16/06
    Select CONVERT(varchar(100), GETDATE(), 2)--06.05.16
    Select CONVERT(varchar(100), GETDATE(), 3)--16/05/06
    Select CONVERT(varchar(100), GETDATE(), 4)--16.05.06
    Select CONVERT(varchar(100), GETDATE(), 5)--16-05-06
    Select CONVERT(varchar(100), GETDATE(), 6)--16 05 06
    Select CONVERT(varchar(100), GETDATE(), 7)--05 16, 06
    Select CONVERT(varchar(100), GETDATE(), 8)--10:57:46
    Select CONVERT(varchar(100), GETDATE(), 9)--05 16 200610:57:46:827AM
    Select CONVERT(varchar(100), GETDATE(), 10)--05-16-06
    Select CONVERT(varchar(100), GETDATE(), 11)--06/05/16
    Select CONVERT(varchar(100), GETDATE(), 12)--060516
    Select CONVERT(varchar(100), GETDATE(), 13)--16 05 2006 10:57:46:937
    Select CONVERT(varchar(100), GETDATE(), 14)--10:57:46:967
    Select CONVERT(varchar(100), GETDATE(), 20)--2006-05-16 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 21)--2006-05-16 10:57:47.157
    Select CONVERT(varchar(100), GETDATE(), 22)--05/16/06 10:57:47 AM
    Select CONVERT(varchar(100), GETDATE(), 23)--2006-05-16
    Select CONVERT(varchar(100), GETDATE(), 24)--10:57:47
    Select CONVERT(varchar(100), GETDATE(), 25)--2006-05-16 10:57:47.250
    Select CONVERT(varchar(100), GETDATE(), 100)--05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 101)--05/16/2006
    Select CONVERT(varchar(100), GETDATE(), 102)--2006.05.16
    Select CONVERT(varchar(100), GETDATE(), 103)--16/05/2006
    Select CONVERT(varchar(100), GETDATE(), 104)--16.05.2006
    Select CONVERT(varchar(100), GETDATE(), 105)--16-05-2006
    Select CONVERT(varchar(100), GETDATE(), 106)--16 05 2006
    Select CONVERT(varchar(100), GETDATE(), 107)--05 16, 2006
    Select CONVERT(varchar(100), GETDATE(), 108)--10:57:49
    Select CONVERT(varchar(100), GETDATE(), 109)--05 16 200610:57:49:437AM
    Select CONVERT(varchar(100), GETDATE(), 110)--05-16-2006
    Select CONVERT(varchar(100), GETDATE(), 111)--2006/05/16
    Select CONVERT(varchar(100), GETDATE(), 112)--20060516
    Select CONVERT(varchar(100), GETDATE(), 113)--16 05 2006 10:57:49:513
    Select CONVERT(varchar(100), GETDATE(), 114)--10:57:49:547
    Select CONVERT(varchar(100), GETDATE(), 120)--2006-05-16 10:57:49
    Select CONVERT(varchar(100), GETDATE(), 121)--2006-05-16 10:57:49.700
    Select CONVERT(varchar(100), GETDATE(), 126)--2006-05-16T10:57:49.827
    Select CONVERT(varchar(100), GETDATE(), 130)--18 ???? ?????? 142710:57:49:907AM
    Select CONVERT(varchar(100), GETDATE(), 131)--18/04/142710:57:49:920AM
      

  3.   

    http://blog.csdn.net/dba_huangzj/article/details/7657979
      

  4.   

     declare @date1 varchar(50)
         set @date1=CONVERT(varchar(100), GETDATE(), 23)
         select @logoNumber=COUNT(*) from Activity_Logo where (username=@username or loginip=@loginIp) and ActivityID=@ActivityID and CONVERT(@date1,addtime)=CONVERT(@date1,GETDATE())
    我是这样写的,下面提示,语法错误。
    '@date1' 附近有语法错误。
      

  5.   

    CONVERT(@date1,addtime)这句明显不符合convert语法,你要干嘛?
      

  6.   

     CONVERT(varchar(100),addtime,23)=CONVERT(varchar(100),GETDATE(),23)
      

  7.   

      select @logoNumber=COUNT(*) from Activity_Logo where (username=@username or loginip=@loginIp) and ActivityID=@ActivityID and CONVERT(varchar(100),addtime,23)=CONVERT(varchar(100),GETDATE(),23)
    谢谢老大了,我明白啥意思了。
      

  8.   

    SQL Server 2008才有date数据类型。 
    SQL Server 2005只有datetime或smalldatetime类型。一般情况下,仅仅用来记录日期,用smalldatetime就足够了。
      

  9.   

    SQL2005没有date数据类型,改一下写法,declare @logoNumber intselect @logoNumber=COUNT(*) 
     from A_Logo
     where (username=@username or loginip=@loginIp) 
     and ActivityID=@ActivityID 
     and convert(varchar(20),addtime,111)=convert(varchar(20),getdate(),111)