我的数据库access中有一个字段是文本,保存了一些数字,比如1、2、3、31等
我在不改变字段属性的情况下,建立查询,如查字符是>=5 到 <=10 之间的记录。
但结果是11、12、等等都出来了
如果把字段修改为数字字段,那结果就是5到10之间
大家有没有好的方式,在不改变字段的情况下,建立正确的查询。我试过用cint函数,但不行,请大家看看。
我在不改变字段属性的情况下,建立查询,如查字符是>=5 到 <=10 之间的记录。
但结果是11、12、等等都出来了
如果把字段修改为数字字段,那结果就是5到10之间
大家有没有好的方式,在不改变字段的情况下,建立正确的查询。我试过用cint函数,但不行,请大家看看。
======================================'
不会吧建一个表,只有一个文本字段charfield
值如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
然后:
select * from table where charfield*1>=5 and charfield*1<=10得到:
5
6
7
8
9
10比如我想得到1到2之间的数据
==================
1到2之间会有什么数据???1.2??1.34???1.78????
用上面的方法应该都可以的至于为什么这样做,我也说不太清楚,是以前看一位csdner的大侠这样做了,自己试了,居然行得通,简单方便,就记下来了后来想想,或许象VB似的,可以在access中进行隐性转换,charfield*1把charfield先转换成数字再进行查询吧。。我试过了,不可以得到。
=================
你看清楚,你的记录中是不是全部都是有效的数字文本,假如有一些不是,那么上面的语句可能会出错。。例如charfield=“6.7”是正常的,但如果charfield=“abc”或charfield=“6..70”等上面的查询就应该会出错。。
select * from table where charfield*1>=5 and charfield*1<=10一开始对数据进行强制类型转换了。