问一个简单的select语句,老是查询不出来。

zzizz 2011-12-22 11:13:30
是要查询AAA表中Doc_no='WH2@211211'的记录。

1. select * from aaa where Doc_no='WH2@211211' 查询出来是记录数为 0

2. select * from aaa where alltrim(Doc_no)='WH2@211211' 查询出来一大堆Doc_no为空的记录

3. select * from aaa where Doc_no like 'WH2@21121%' 查询出来的有Doc_no为'WH2@211210'的,没有 'WH2@211211'

4. select * from aaa whre left(Doc_no,10)= 'WH2@211211' 查询出来是记录数为 0

5. 用 双等号 "==",查询出来的记录数也是0

++ 只有用 Brow for Doc_no='WH2@211211' 能正常显示出来结果 ,这个Select 到底怎么回事啊?
...全文
133 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzizz 2011-12-26
  • 打赏
  • 举报
回复
TNND,无论怎么查都查不出来,到最后才发现是索引问题,重新索引就好了,DBF的索引,真害人!
dfwxj 2011-12-25
  • 打赏
  • 举报
回复
select * from aaa where alltrim(Doc_no)=='WH2@211211'

肯定出来一条
zzizz 2011-12-22
  • 打赏
  • 举报
回复
Doc_no就是单号了,字符型的,例如:"11091781-S ","11092119","WH21@270911","CON-11070320",最奇怪是的用 where Doc_no='WH2@211211' 查不到,另一张单 用 where Doc_no='WH2@211210' 能查到,这两种单都是有数的。
WWWWA 2011-12-22
  • 打赏
  • 举报
回复
Doc_no内容是什么
蓝海 2011-12-22
  • 打赏
  • 举报
回复
这种情况考虑一下,DOC_NO 里有其他非空格的字符吧!

如 Doc_no 里含一些不可见的字符,如界于 CHR(0) 到 CHR(31) 之间的一些不可见字符;

例:

你可以找一条记录先用 REPLACE DOC_NO WITH 'WH2@211211' 写进去一下,然后再用你前面那几条语句查一下试试,如果正常,说明极有可能含其他不可见字符;

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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