sql 中整数和浮点数排序问题

rui90102 2013-01-06 11:37:29
sql 中有个字段是字符串类型的,它的值是
1
1.2
4
4.11
4.15
这样的,如何给他们排序呢
...全文
485 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rui90102 2013-01-06
  • 打赏
  • 举报
回复
里面还有10.1.2 这样的,所以这样转不行呢,要怎么处理呢
失落夏天 2013-01-06
  • 打赏
  • 举报
回复
cast('1.1' as double); 当然,搜的,没试过。。 坐等楼下更好的。 这东西确是得学学。。 挺有用。
rui90102 2013-01-06
  • 打赏
  • 举报
回复
引用 3 楼 AA5279AA 的回复:
你想按照什么顺序呢? 大小的话String转成Double型不就行了? 不是特别明白意思。 Double d=Double.parseDouble(s);
要在sql 语句里面转换呢
失落夏天 2013-01-06
  • 打赏
  • 举报
回复
你想按照什么顺序呢? 大小的话String转成Double型不就行了? 不是特别明白意思。 Double d=Double.parseDouble(s);
rui90102 2013-01-06
  • 打赏
  • 举报
回复
引用 1 楼 scottxzj 的回复:
String 转换成 BigDecimal 然后 每个数*100 变成 100 120 400 411 415 再排序 然后再 /100
不行呢转换成decimal 的时候也报错
snow-is-my-Love 2013-01-06
  • 打赏
  • 举报
回复
String 转换成 BigDecimal 然后 每个数*100 变成 100 120 400 411 415 再排序 然后再 /100
gfzeng 2013-01-06
  • 打赏
  • 举报
回复
没有理解你的意图: 如果你是要安字符串排序, 那么就按首字母的assii 码就行了。 如果是数值的话, 也好办, 通过小数点的位置分组, 然后左右就按 字符串排就行了
game4daniel 2013-01-06
  • 打赏
  • 举报
回复
我勒个去,既然有这个要求,为什么插入的时候,不对齐呢?多方便 0001.0002.0003 0007.0011.0111
snow-is-my-Love 2013-01-06
  • 打赏
  • 举报
回复
引用 8 楼 rui90102 的回复:
也是这个意思呢
String a="10.1.2"; String b[]=sdsdString.split("."); 拆分成 数组, for循环 从 第一位 排序 并且 分类 开头是1的一组、2的一组...., 第二位 没有的用0补齐,组内排序 .......... 建议看一下 树形。
rui90102 2013-01-06
  • 打赏
  • 举报
回复
引用 7 楼 scottxzj 的回复:
引用 6 楼 rui90102 的回复:里面还有10.1.2 这样的,所以这样转不行呢,要怎么处理呢 10.1.2 什么意思? 这跟们不是数呀, 这是节点呀
也是这个意思呢
snow-is-my-Love 2013-01-06
  • 打赏
  • 举报
回复
引用 6 楼 rui90102 的回复:
里面还有10.1.2 这样的,所以这样转不行呢,要怎么处理呢
10.1.2 什么意思? 这跟们不是数呀, 这是节点呀

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧