7.5
10
9.5
14
14*10
20*30
5.5
9
9.5
4
8
8
17
8.5
9.5
10
9
6
7.5
6.5
7
8
13.5
14
10
6
14
7+9
9
8+9+10
14
7.5+10
9+6
8
7.5上面数据是a表里的guig字段,比如我要查6~7.5 或6或14*10,你说我要用什么查询方法比较好?

解决方案 »

  1.   

    where guig in ('6','6.5','7','7.5','14*10')
      

  2.   

    这个得自己写条件了,如:
    select * from yourtable where (isnumeric(guig)=1 and CONVERT(int ,guig)>=6 and CONVERT(int ,guig)<=7.5) or guig='14*10'
    用isnumeric()来判断是否为数值型,如果可以转化成int传回1,否则传回0;
    另外可以用isdate()来判断是否为日期型
      

  3.   

    好好补一下基础知识
    (isnumeric(guig)=1 and CONVERT(int ,guig)>=6 and CONVERT(int ,guig)<=7.5)  -----如果guig就数值型,则用CONVERT(int ,guig)转为数字并找介于6~7.5之间(包含)的值or guig='14*10' -------这个就不解释了
      

  4.   

    where guig between '6' and '7.5' or guig='14*10'
      

  5.   

    guig between '6' and '7.5' or guig='14*10'
      

  6.   


    这个是没办法的啦,只能or  or  or ……