请教Access里的like详解

无爱大叔 2007-11-16 05:41:57
实在是把我弄糊涂了。问题是解决了!只求解答。
我使用的是asp+access

记得access中使用 like '*关键字*' 这样来查询的。
可是我在程序里的sql语句使用 like '*关键字*'就是搜索不到结果,最后无奈使用了 like '%关键字%' 居然可以了。
但是在access里的“查询”里使用 %来查询又不行又换成*才可以。
到底access是怎么搞的?

另外使用like查询备注字段
where r_pxjl like '*1*'
这样可以查询到一条记录,可是我这个字段r_pxjl里面并没有1这个关键字。

求解答!
...全文
1861 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2007-11-19
  • 打赏
  • 举报
回复
默认情况下:

--在ADO的sql串中通配符用%:
select * from 表名 where 字段名 like '%abc%'

--在纯Access中通配符用*:
select * from 表名 where 字段名 like '*abc*'
WWWWA 2007-11-19
  • 打赏
  • 举报
回复
记得access中使用 like '*关键字* ' 这样来查询的。
可是我在程序里的sql语句使用 like '*关键字* '就是搜索不到结果,最后无奈使用了 like '%关键字% ' 居然可以了。

在ACCESS中用*,ADO连接MDB用%,
也可以设置SQL-92方式
OracleRoob 2007-11-17
  • 打赏
  • 举报
回复
再详细检查一下数据,没有遇到这种情况。


或者新建一个MDB,将原来文件中的所有对象都导入到新的MDB中试试。

OracleRoob 2007-11-17
  • 打赏
  • 举报
回复
另外使用like查询备注字段
where r_pxjl like '*1* '
这样可以查询到一条记录,可是我这个字段r_pxjl里面并没有1这个关键字。

---------------------------------------------------------

压缩修复一下MDB:

-->“工具”菜单
-->数据库实用工具
-->压缩和修复数据库

OracleRoob 2007-11-17
  • 打赏
  • 举报
回复


--在ADO的sql串中通配符用%:
select * from 表名 where 字段名 like '%abc%'

--在纯Access中通配符用*:
select * from 表名 where 字段名 like '*abc*'




默认情况下,Access 环境中使用的是 ANSI-89 SQL 查询模式.
要使用 %,要设置 SQL Server 兼容模式 (ANSI-92) (仅对 Access 2002-2003 文件格式有效)。

方法一
打开需要设置的数据库文件(.mdb)
按 Ctrl + G 打开 Microsoft Visual Basic 编辑器
在立即窗口中输入如下语句并按回车键
Application.SetOption "ANSI Query Mode", True
关闭 Microsoft Visual Basic 编辑器

方法二
打开需要设置的数据库文件(.mdb)
在菜单上选工具->选项->表/查询
在 SQL Server 兼容语法(ANSI 92)一项中勾选“当前数据库”->确定。

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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