日期:2014-05-18  浏览次数:20710 次

SQL如何比较varchar字段中的数值?
目的:将zi表fl字段中> 0, <2的数据列出来
语句:strSql   =   "select   *   from   zi   where   cast(fl   as   numeric(18,2))> 0   and   cast(fl   as   numeric(18,2)) <2 "
结果:Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E21)
ODBC   驱动程序不支持所需的属性。
请问应如何做?

字段中数值格式类似
1.1
1.21
145.10




------解决方案--------------------
连接数据库出错
------解决方案--------------------
你在查询分析器里执行一下看看有否结果
------解决方案--------------------
使用Convert()函数转一下再比较
Convert(float, '234.231 ')输出的就是浮点数 234.231
不过你数据库那一列为什么用varchar类型呢

------解决方案--------------------
select * from zi where Convert(float,cast(fl as numeric(18,2)))> 0
如上