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,你说我要用什么查询方法比较好?
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,你说我要用什么查询方法比较好?
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()来判断是否为日期型
(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' -------这个就不解释了
这个是没办法的啦,只能or or or ……