SELECT NOSO,SUM(QTYREJ) QTY
FROM scrap
WHERE '20030930'>=convert(varchar(8),dt,112) and convert(varchar(8),dt,112)>='20030501'
GROUP BY NOSO

解决方案 »

  1.   

    SELECT NOSO,SUM(QTYREJ) QTY
    FROM scrap
    WHERE '20030930'>=dt and dt>='20030501'
    GROUP BY NOSO
      

  2.   

    SELECT NOSO,SUM(QTYREJ) QTY
    FROM scrap
    WHERE  dt between '20030501' and '20030930'
    GROUP BY NOSO
      

  3.   

    --得到的数据不对,例如:如果是9月,datename(month,dt)返回9,而不是09--改为:
    SELECT NOSO,SUM(QTYREJ) QTY
    FROM scrap
    WHERE '20030930'>=convert(varchar,dt,112)+datename(month,dt)+datename(day,dt)>='20030501'
    GROUP BY NOSO
      

  4.   

    --上面的错了,改一下:
    --改为:
    SELECT NOSO,SUM(QTYREJ) QTY
    FROM scrap
    WHERE '20030930'>=convert(varchar,dt,112)>='20030501'
    GROUP BY NOSO
    或者:SELECT NOSO,SUM(QTYREJ) QTY
    FROM scrap
    WHERE convert(varchar,dt,112) between '20030930' and '20030501'
    GROUP BY NOSO
      

  5.   

    大力那样能比吗?我的dt类型是datetime呀!
    问题解决了,就用convert()