本帖最后由 dingzongyinnihao 于 2010-10-29 13:41:04 编辑

解决方案 »

  1.   

    把日期转换为 yyyyMMdd形式 用 =条件查询
      

  2.   

    你的日期Like '%2007-1-1%'很显然是错误的,日期的格式是错误的,所以你查询的数据时一个空值
      

  3.   


    试试SELECT max(A相功率因数最大值) FROM 统计数据 WHERE 设备号 = 2 and 
    [日期] > '2006-12-31 23:59:59'
    and [日期] <= '2007-1-1 23:59:59'  
      

  4.   

    那你试试用locate了  就好比sql里的charindexSELECT max(A相功率因数最大值) FROM 统计数据 WHERE 设备号 = 2 and cast(日期 AS varchar(50)) Like '%2007-1-1%'
    SELECT max(A相功率因数最大值) FROM 统计数据 WHERE 设备号 = 2 and locate('2007-01-01',日期)>0 你看下你日期的格式 
      

  5.   

     convert(varchar(10),日期列,120)
    看看你的SQL语句
      

  6.   


    我这是多了你的那句 就单独用
    SELECT max(A相功率因数最大值) FROM 统计数据 WHERE 设备号 = 2 and locate('2007-01-01',cast(日期 as varchar(50)))>0
    还有就是你得注意下你的日期格式 比如说2010年1月1号是 2010-01-01 还是2010-1-1 
      

  7.   


    我是想查一月份的,是这种格式2010-1-1
    我这样写SELECT max(A相功率因数最大值) FROM 统计数据 WHERE 设备号 = 2 and locate('2007-1',cast(日期 as varchar(50)))>0
    但是就是没有结果,没有值,什么原因哦!