在DB2 Sql语法中,如何按负数和正数排序
在运行以下Sql时,我得到以下结果:在DB2 Sql语法中,如何按负数和正数排序,sql,db2,Sql,Db2,在运行以下Sql时,我得到以下结果: Select * from LOTOIL1 where lotkey = 'B20130806' order by OIPRI ASC 结果是: 我在OIPRI上订购,希望获得以下结果: -3 -1 0 3 我需要做什么才能得到结果 提前谢谢。试试看 order by OIPRI * 1 ASC 强制整数转换 但实际上,您应该将数据类型更改为数字类型。OIPRI的数据类型是什么?我敢打赌它是非数字数据类型,因为它按字母顺序排序。@Ma
Select * from LOTOIL1 where lotkey = 'B20130806'
order by OIPRI ASC
结果是:
我在OIPRI上订购,希望获得以下结果:
-3
-1
0
3
我需要做什么才能得到结果
提前谢谢。试试看
order by OIPRI * 1 ASC
强制整数
转换
但实际上,您应该将数据类型更改为数字类型。OIPRI的数据类型是什么?我敢打赌它是非数字数据类型,因为它按字母顺序排序。@MartinSmith它是一个字符。那么,为什么要在字符列中存储整数呢?如果您修复了数据类型,它将被更有效地存储,您将不会得到无效的非数值,它将正确排序。有尾随文字吗?不知道为什么它在截图中显示省略号。我会使用
CAST(OIPRI作为整数)
来代替。。。一些(较旧的)DB2版本不支持隐式强制转换。