| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1130 人关注过本帖, 1 人收藏
标题:关于函数的小问题
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
都说了依次比较,如果第一个字符能分出大小,就按这个,如果不能,就比较大家的第二个,一直比下去,中途遇到一个结束,就它小了。比如"car"和"cup",第一个"c"是一样的,没结果,就比较第二个"a"和"u",后者大,所以"cup"胜出,"cup">"car"。如果是比较"car"和"c",因为后者第二个字符是结束符0,所以"car"大。

谁说我没事,忙着呢。


[ 本帖最后由 TonyDeng 于 2012-3-9 21:39 编辑 ]

授人以渔,不授人以鱼。
2012-03-09 21:35
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
回复 11楼 TonyDeng
这才是精华。建议该贴加红置顶,让大家学习一下。
2012-03-09 21:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
字符串如何比较大小,书上有讲的呀。

授人以渔,不授人以鱼。
2012-03-09 21:44
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
回复 13楼 TonyDeng
对于新手来讲,是不可多得的精华。
连我都有点糊涂。

[ 本帖最后由 lygcw9603 于 2012-3-9 21:54 编辑 ]
2012-03-09 21:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
嗯~

对于数据库来说,字符串的比较是很重要的。索引的排序规律,就是按照这个,因此,对字符型字段,升序索引后,"11"必然在"12"之前,而所有的"11"必然是全部在一起的。对逻辑比较=,结果与字符串的左右位置有关,"ab"="abc"(.F.)的结果与"abc"="ab"(.T.)是不一样的,这给很多编程者制造麻烦,除非有足够的敏感性和经验。但"ab"=="abc"这样的,不论左右怎么调换,结果都为假。因此在SQL查询中,在where中使用了==算符的无法优化运行,而使用=就可以,如何使用,看编程的实际目标了。前者的现象,正是与C字符串比较的算法有关,它就是以左边的为主,依次提取两边对应位置的字符进行比较,如果右边的字符数较少,就用0字符补足,而0字符永远比左边的小,故长字符较大。

补充一下:在索引文件中,排序之所以重要,是因为它可以提高搜索效率。正如前面所说的排列规律,所有"11"都在"12"之前而且全部放在一起,那么只要我们用seek指令把记录指针快速定位到第一个"11"记录处,然后往下逐个检索,由于全部是"11"的记录必然有限,那么只要循环遇到非"11"的记录就终止,则循环次数就是有限的,这比在全部分散的记录中遍历一次的效率高得多(在一千条记录以内,locate和seek的效率相差无几,但记录数越大,后者的效率就高得越多,只要seek到了,往下顺序检索100条以内的记录,不过是瞬间之事)。SQL的where查询,之所以对有索引的数据库效率高,就是它自动利用了这样的特性,而我们手动编程,也同样可以利用这样的特性提高效率,在构造数据库时,也要优先考虑建造有这种特性的数据结构。

[ 本帖最后由 TonyDeng 于 2012-3-9 22:34 编辑 ]

授人以渔,不授人以鱼。
2012-03-09 22:03
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
回复 15楼 TonyDeng
深刻、精辟。不可多得的教材。收藏了。
2012-03-09 22:24
软件服务
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:344
专家分:736
注 册:2011-12-23
收藏
得分:0 
回复 15楼 TonyDeng
详尽
请问一下,你是不是出书的
2012-03-10 13:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
出书?

授人以渔,不授人以鱼。
2012-03-10 13:53
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:4 
以下是引用软件服务在2012-3-10 13:47:25的发言:

详尽
请问一下,你是不是出书的
你是不是要买书啊
如果想要的话,对你可以优惠一些。

[ 本帖最后由 sdta 于 2012-3-10 13:56 编辑 ]

坚守VFP最后的阵地
2012-03-10 13:54
软件服务
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:344
专家分:736
注 册:2011-12-23
收藏
得分:0 
回复 19楼 sdta
你是卖书?有没有清单
2012-03-10 14:20
快速回复:关于函数的小问题
数据加载中...
 
   



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

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