谢谢回答。这也是我现在使用的方法。我在sqlite存储数据的过程中使用了一个值(-999999)来代替 Null 。然后在读取数据的时候需要判断,如果值为-99999就用null来替换掉。用sql语句执行的操作。举个例子:select ifnull((case col1 when -999999 then null else col1 end),null) from table1 这样的SQL句子。结合上面的内容,只要在SQL语句中对数据进行任何操作,就无法按正常数值的方式来排序。所以请问怎样才能替换掉数据中的-999999(查询的内容中一共有20列,共有14列有可能出现-999999)。谢谢。
比如说求出来的数据为 -0.01,-0.5,0, 2.5, 10.5
由小到大正常顺序应该为 -0.5, -0.01, 0 ,2.5, 10.5
由小到大实际排序顺序为 -0.01, -0.05, 0, 10.5, 2.5
再经过试验发现,不管是Round函数也好,或者是cast函数,只要是在sql语句中对值进行了处理那么最后查询出来的值都不能按数字大小进行排序。
用的查询控件是 ZeosLib,表格控件为 cxgrid,
如果你的意思是设置对应列的ValueType为Integer的话确实是没用的。
https://www.devexpress.com/Support/Center/Question/Details/T102124https://www.devexpress.com/Support/Center/Question/Details/Q314923
http://blog.csdn.net/zengcong2013/article/details/40356301