在vfp中,distinct和group最多可以区分多长的字符串解决方法
在vfp中,distinct和group最多可以区分多长的字符串在vfp中,用distinct对数据去除重复时候或者用group对数
在vfp中,distinct和group最多可以区分多长的字符串
在vfp中,用distinct对数据去除重复时候或者用group对数据进行分组时候发现这样的现象:如果字符串太长(例如140字节),就会把仅仅前面部分相同的字符串认为是相同的字符串。不知道是不是vfp区分不同字符串的能力有限?如果有限制,那么限制是多少?
这种情况可以把比较长的字符串拆分成两个进行比较,但是这样会使编程变得繁琐很多,不知道有没有什么好的方法来处理这个问题?
[解决办法]
[解决办法]……
挺郁闷的,再次试了一下,发现:
还是串长度的问题!
当字符串的有效长度(不包含前导、后导空格)达到120及以上的时候,结果就会很奇怪,说奇怪的意思是结果不可预料,可能正确,也可能不正确!
而只要串的有效长度小于120,也就是最大119时,结果都没问题!
至于原因不明!
[解决办法]是否 DBCS 与字段内容无关,vfp 的表默认与操作系统是否 DBCS 有关,sql server 则在定义数据库时可以改变。
先改变字段排序规则似乎有效:
Set Collate To GENERAL
Set Collate To MACHINE
select dist * from ...