a表字段数据如下id    writeDate      这是插入的数据     
001   2004-01-02 12:45:45:000
002   2004-03-02 12:45:45:000现在问题是我想通过时间(如:2004-03-02)来查询a表中的数据
select id,writeDate,convert(varchar(10,writeDate,112)) as QueryDate from a 
where QueryDate between '2004-01-02' and '2004-03-02 '  //QueryDate字段的格式为'2004-01-02' 
提示 QueryDate 列无效       请问大家要如何写才能实现,能否用一条语句实现

解决方案 »

  1.   

    先from再where再select
    所以在where时..QueryDate不可见.
      

  2.   

    select id,writeDate,convert(varchar(10,writeDate,112)) as QueryDate   
    from a   
    where convert(varchar(10,writeDate,112)) between '2004-01-02'   and '2004-03-02' 
      

  3.   

    select   id,writeDate,convert(varchar(10,writeDate,112))   as   QueryDate   from   a   
    where   convert(varchar(10,writeDate,112))   between   '2004-01-02'   and   '2004-03-02   '