代码: $sql1="select * from qscinfo2 where testdate =$datey order by zzcj desc";按照zzcj进行排序。
错误样式:
结果6.2222的竟然比12.333大,只要是小数点前是一位数的都比两位数的大,我感觉好像是它没有识别这是个数字是按文本排的,请高手指导下,
数据库样式:
如果是系统来排会是:2.196680>13.138409.
如果是数据类型的问题,我想不改数据库,通过改最上边的代码能修正这个错误吗。
比如 $sql1="select * from qscinfo2 where testdate =$datey order by value(zzcj) desc";这样。但我这个现实是错误的写法。
不行啊。这样写是提示错误的。
追答把错误贴上来,还有你数据类型是什么?
追问错误是写上这句,我提问那个表就不出图像了。数据类型我在数据库定义的是varchar,但实际录入的数据格式应该是类似10.1213、3.4454这种浮点函数。
追答恋米无言的回答不行,我不想改变数据库,能用代码转换成数字格式吗
这是个错误语句啊
追答费劲,我只写了order by子句,你自己不会整齐了?
select * from qscinfo2 where testdate =$datey order by cast(zzcj as decimal) desc
这样改我的图表不出图像,我也是这个全部写的,但是不知道什么原因。
追答你把 sql拷到数据库的客户端扫行一下就知道sql是否正确了,出不出来图像那跟你的程序有关,可能你的程序有问题呗