declare @starttime datetime
declare @finishtime datetime
set @starttime='2007-07-01'
set @finishtime='2008-05-31'exec(' select ItemBH from Xfjd_check where Date_Created not between '+@starttime+' and  '+@finishtime+' ')
这句怎么就错了

解决方案 »

  1.   

    declare @starttime datetime 
    declare @finishtime datetime 
    set @starttime='2007-07-01' 
    set @finishtime='2008-05-31' declare @sql varchar(4000)
    set @sql = ' select ItemBH from Xfjd_check where Date_Created not between '+@starttime+' and  '+@finishtime+' '
    exec(@sql) 
      

  2.   

    少了引號declare @starttime datetime
    declare @finishtime datetime
    set @starttime='2007-07-01'
    set @finishtime='2008-05-31'exec(' select ItemBH from Xfjd_check where Date_Created not between '''+@starttime+''' and  '''+@finishtime+'''') 
      

  3.   

    exec sp_executesql N'SELECT * FROM Xfjd_check 
                           where Date_Created not between @starttime AND @finishtime',
                       N'@starttime DATETIME,@finishtime DATETIME',
                       @starttime,@finishtime;
      

  4.   

    declare @starttime datetime 
    declare @finishtime datetime 
    set @starttime='2007-07-01' 
    set @finishtime='2008-05-31' declare @sql varchar(4000)
    set @sql = ' select ItemBH from Xfjd_check where Date_Created not between '''+convert(varchar,@starttime,120)+''' and  '''+convert(varchar,@finishtime,120)+''' '
    exec(@sql) 
      

  5.   

    这个表Xfjd_check 是什么表呀?
      

  6.   

    datetime类型不能直接跟字符串连接..转换字符串.
      

  7.   

    这个表Xfjd_check 是什么表呀?
      

  8.   

    这个表Xfjd_check 是什么表呀?
      

  9.   


    declare @starttime varchar(10) 
    declare @finishtime varchar(10)
    set @starttime='2007-07-01' 
    set @finishtime='2008-05-31' exec (' select ItemBH from Xfjd_check where Date_Created not between '''+@starttime+''' and  '''+@finishtime+'''')
      

  10.   

    这个表Xfjd_check 是什么表呀?
      

  11.   


    exec('select ItemBH from Xfjd_check where Date_Created not between '''+@starttime+''' and  '''+@finishtime+'''') 可以了
    但是怎么跟
    select ItemBH from Xfjd_check where Date_Created not between 2007-07-01 and 2008-05-31
    出来的结果不一样呢
      

  12.   

    declare @starttime datetime
    declare @finishtime datetime
    set @starttime='2007-07-01'
    set @finishtime='2008-05-31'exec(' select ItemBH from Xfjd_check where Date_Created not between '''+@starttime+''' and  '''+@finishtime+'''') 
      

  13.   

    呵呵  select ItemBH from Xfjd_check where Date_Created not between 2007-07-01 and 2008-05-31 这句又忘记加引号了,
    exec('select ItemBH from Xfjd_check where Date_Created not between '''+@starttime+''' and  '''+@finishtime+'''')
    跟select ItemBH from Xfjd_check where Date_Created not between '2007-07-01' and '2008-05-31'的结果是一样的, 
      

  14.   

    declare @starttime datetime 
    declare @finishtime datetime 
    set @starttime='2007-07-01' 
    set @finishtime='2008-05-31' exec(' select ItemBH from Xfjd_check where Date_Created not between ''+@starttime+'' and  ''+@finishtime+'' ')