| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 850 人关注过本帖
标题:文本数据排序问题请教
只看楼主 加入收藏
phoenix_leon
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-10-30
收藏
 问题点数:0 回复次数:9 
文本数据排序问题请教
不知道为什么用select * order by a,b怎么排出来是这样的,这后面两项字段是文本格式,因导入时有些是五位的格式,有些数据采取了前面补零,比如01803,00001,00100,我为了统一格式使用了alltrim(str(val()))转换过一次,但用order by就成了这样,不知道为什么会这样,如何解决,请大家指点。
 a      b
1803    1
1803    100
1803    1001
1803    101
1803    103
1803    104
1803    106
1803    107
1803    108
1803    109
1803    110
1803    157
1803    205
1803    206
1803    208
1803    210
1803    211
1803    212
1803    213
1803    218
1803    219
1803    3
1803    3104
1803    3106
1803    3107
1803    3201
1803    3302
1803    3402
1803    3404
1803    3502
1803    3503
1803    3604
1803    4
1803    668
搜索更多相关主题的帖子: 如何 
2015-10-31 12:22
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
Val() 转换成数字,Str() 再转换回字符,折腾了半天,等于没转。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2015-10-31 12:32
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9809
专家分:26987
注 册:2012-2-5
收藏
得分:0 
PADL(ALLTRIM(字段),4,"0")
规范字段格式

坚守VFP最后的阵地
2015-10-31 12:46
phoenix_leon
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-10-30
收藏
得分:0 
回复 3楼 sdta
非常感谢,是不是如果要变成前面没有0补齐位数的格式,就必须转换成数值类型的字段才能正常排序?
2015-10-31 12:57
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9809
专家分:26987
注 册:2012-2-5
收藏
得分:0 
是的
SELECT A,VAL(B) B FROM 表1 ORDER BY 2

坚守VFP最后的阵地
2015-10-31 15:22
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
字符型排序是逐位对比的,和数字不同。在数字里,10>3,但在字符串里却正好相反。
2015-11-01 14:27
中国龙王
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:484
专家分:283
注 册:2006-5-17
收藏
得分:0 
呵呵...第一次看到STR()和VAL()这样套用.........

不要为了打发无聊而做无聊的事!不要在虚幻的世界里做虚幻的事!
2015-11-01 17:20
phoenix_leon
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-10-30
收藏
得分:0 
回复 6楼 taifu945
谢谢指点,让我知其然也知其所以然。
2015-11-02 08:27
总是出错
Rank: 2
等 级:论坛游民
威 望:1
帖 子:248
专家分:24
注 册:2012-12-24
收藏
得分:0 
回复 6楼 taifu945
是一个需要注意的问题,不能想当然以为11比9大。一般如果你想按数字型的字符来排序的话,需要把字符型字符换转成数字型字符。
2015-11-02 11:18
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用sdta在2015-10-31 12:46:14的发言:

PADL(ALLTRIM(字段),4,"0")
规范字段格式

没错,这样统一格式4位长度,9就比11小了。9-》0009,11-》0011
2015-11-02 12:28
快速回复:文本数据排序问题请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015903 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved