带有 Like 语句的 MS-Access 上的 SQL 请求似乎永远无法正常工作
Posted
技术标签:
【中文标题】带有 Like 语句的 MS-Access 上的 SQL 请求似乎永远无法正常工作【英文标题】:SQL request on MS-Access with Like statement seems to be never working 【发布时间】:2017-07-03 07:00:09 【问题描述】:我在一个请求中尝试了几种“Like”语法(我使用的是 VB.NET 和一个 MS-ACCESS 2010 数据库),除了抛出异常之外,它们都没有得到任何其他结果。为什么?我对此一无所知。
我做了这个解决方法:而不是
SELECT dbFieldDisplayName FROM dbTableName WHERE dbFieldSearchName Like 'A*'
(我也尝试使用“A%”而不是“A*”)
我用过:
SELECT dbFieldDisplayName
FROM dbTableName
WHERE dbFieldSearchName >='A' AND dbFieldSearchName <'AZZZ'
有人知道为什么我的 Like 语句总是触发异常吗?有更好的解决方法吗?
提前致谢。
【问题讨论】:
有什么异常? 您是否尝试使用 LIKE 'A%' 而不是 'A*'? (百分比而不是星号) Microsoft Jet wildcards: asterisk or percentage sign?的可能重复 我尝试了 A% 和 A*,结果相同:“您的请求中缺少参数”(或类似于此) 这通常意味着字段名称拼写错误。 【参考方案1】:如果你需要 col 值以 A 开头的行,你应该像 % 一样使用
SELECT dbFieldDisplayName FROM dbTableName WHERE dbFieldSearchName Like 'A%'
(在 SQL 中 * ...表示所有列 ..不是所有字符)
【讨论】:
在您的查询中没有参数,所以显示真正的查询和适当的数据样本...... e ..【参考方案2】:最后,我的 MS-ACCESS 的行为多么奇怪……
我卸载了我所有的办公组件(包括 MS-ACCESS),然后重新安装,现在“Like”语句可以正常工作,使用 % 作为通配符。
请求:
SELECT dbFieldDisplayName FROM dbTableName WHERE dbFieldSearchName Like 'A%'
现在可以正常工作了,因为它应该可以正常工作。
【讨论】:
以上是关于带有 Like 语句的 MS-Access 上的 SQL 请求似乎永远无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
在 MS-Access 中生成 INSERT INTO 语句
带有 LIKE 运算符的 Select 语句中的 MySQL 案例
带有“LIKE”语句的雄辩查询在 Laravel 6 中不起作用
带有 CriteriaQuery 的 JSONB 列上的“LIKE”表达式