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
如上