读书人

SQL怎么比较varchar字段中的数值

发布时间: 2012-02-14 19:19:19 作者: rapoo

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

读书人网 >SQL Server

热点推荐