select * from homeifo where CONV(LEFT(price,LOCATE("元",price)+1),16,10) between 0 and 6000只能查询到数据库该字段所搜索的范围中一部分内容,这是怎么回事呢

解决方案 »

  1.   

    是这样的  我的price字段在数据库中有单位元/月等  我就是想把单位去掉好便于范围搜索 请问该怎么写呢 谢谢
      

  2.   


    直接用REPLACE将单位元/月去掉
      

  3.   

    select * from homeifo where CONV(LEFT(price,LOCATE('元',price)),16,10) between 0 and 6000上面这个只搜出了'中国房产', '90元/月', '三室一厅', '南北向', '无装', '第12层', '90㎡', '太好了'把0改成2000却什么都搜不出来我的所有记录是:
    '中国房产', '90元/月', '三室一厅', '南北向', '无装', '第12层', '90㎡', '太好了'
    '中国房产', '9000元/月', '一室一厅', '东向', '毛坯', '第12层', '90?㎡', '太好了'
    '中国房产', '8000元/月', '三室两厅', '东向', '毛坯', '第6层', '66㎡', '666'
    '中国房产', '6000元/月', '一室一厅', '东向', '毛坯', '6', '66', '6666'
    '中国房产', '6000元/月', '一室一厅', '东向', '毛坯', '6', '66', '6666'
    '中国房产', '6000元/月', '一室一厅', '东向', '毛坯', '6', '66', '6666'
    '中国房产', '6000元/月', '三室一厅', '南北向', '简装', '第6层', '66㎡', '666'
    '中国房产', '3000元/月', '一室一厅', '东向', '简装', '第5层', '55㎡', '555'
    '中国房产', '2000元/月', '一室一厅', '东向', '毛坯', '第9层', '99㎡', '999'
    '中国房产', '5000元/月', '一室一厅', '东向', '毛坯', '第8层', '88㎡', '888'
    '中国房产', '7630元/月', '一室一厅', '东向', '毛坯', '2', '22', '222'
    '中国房产', '7630元/月', '一室一厅', '东向', '毛坯', '2', '22', '222'
    '中国房产', '3000元/月', '一室一厅', '东向', '简装', '第5层', '55㎡''222'
    '中国房产', '30000元/月', '一室一厅', '东向', '毛坯', '第22层', '22㎡', '2222'
    '中国房产', '10000元/月', '一室一厅', '东向', '毛坯', '第10层', '90㎡', '很不错'
    '中国房产', '6000元/月', '一室一厅', '东向', '毛坯', '第6层', '66㎡', '666'
    '中国房产', '3000元/月', '一室一厅', '东向', '毛坯', '第6层', '90㎡', '不错'
    '小区10', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区11', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区12', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区13', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区14', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区15', '2000元/月', '小区', '小区', '小区', '6', '66', '6666'
    '小区16', '2000元/月', '小区', '小区', '小区', '6', '66', '6666'
    '小区17', '2000元/月', '小区', '小区', '小区', '6', '66', '6666'
    '小区18', '2000元/月', '小区', '小区', '小区', '6', '66', '6666'
    '小区6', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区7', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区8', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '小区9', '2000元/月', '不错', '不错', '不错', '22', '61', '4545'
    '中国房产', '13000元/月', '两室一厅', '银角', '精装', '第13层', '90㎡', '不错'
      

  4.   

    select * from homeifo where CONV(LEFT(price,LOCATE('元',price)-1),16,10) between 0 and 6000orselect * from homeifo where 
    cast(replace(price,'元/月','') as DECIMAL)
    between 0 and 6000select * from homeifo where 
    CONVERT(replace(price,'元/月',''),DECIMAL)
    between 0 and 6000
      

  5.   

    or
    select * from homeifo where 0+
    replace(price,'元/月','')
    between 0 and 6000 
      

  6.   

    select * from homeifo where
    0+LEFT(price,LOCATE('元',price)-1) 
    between 0 and 6000 将LEFT(price,LOCATE('元',price)-1) 放在SELECT中看看结果
    select *,LEFT(price,LOCATE('元',price)-1) from homeifo 
      

  7.   

    select * from homeifo where 
    0+LEFT(price,LOCATE('元',price)-1)  
    between 0 and 6000 这条语句正确的显示了结果  真是太感谢你了  太厉害了  我再研究一下为什么这么写 呵呵