请教一句SQL,试了N次都不行,请大家帮忙。
我在ado+access中,在查询时,要把一个字符型的字段转成数值型,才能进行我所要的查询。
但不管是用cast、convert、to_number
都不行,大概都是说不支持这样的sql函数。难到用access连数据转换的sql都不支持吗?
用cast时,提示说不支持的接口
用convert和to_number时,提示说convert函数没有定义
???????????????????
大家快帮帮忙吧,我快急死了。
推荐阅读
你应用在assess数据库中,可用以下函数:
ccur 转换为 currency 型
cdbl 转换为 double 型
cint 转换为 int 型
clng 转换为 long 型
如:字符列 cprice 内的数据都可转换为数值, 并且查询cprice>2.01
select ccur(cprice) as ip from tables_1 where ccur(cprice)>2.01
你不用管sql里面是什么类型
对于access
如果是字符就用,如:select * from atable where name=lvjack
select * from atable where phone=321321321
数字直接用select * from atable where age=24
时间用##,select * from atable where birth_date >#2002-2-2#
楼主是 sczyq(我又...........) 所说的意思么?
sql中要进行数据类型转换要用你所操作的数据库中支持的函数
如oracle中有to_date,to_char
access不清楚,可能就是 sczyq(我又...........) 所说的吧
sczyq(我又...........) 的方法可以.
你完全可以先按一般的查找先找出来,
就按 lvjack(叶飞) 所说的,
然后在程序里进行数据类型转换!
如果要在查询里就要数据转换的话,那只能用
ccur 转换为 currency 型
cdbl 转换为 double 型
cint 转换为 int 型
clng 转换为 long 型
这几个函数了!
convert是sql server的函数,access不支持,至于其他两个呢,那可是c++builder里带的函数
当然不支持,其实除了楼上几位兄弟说的,你还可以用参数的形式,
如;select * from table where value=:value1;
这里的value1你在查询的时候就赋于用 c++builder转换过来的数值不就可以了吗


讨论区