首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB6语法问题

问VB6语法问题
EN

Stack Overflow用户
提问于 2011-04-09 18:48:43
回答 3查看 290关注 0票数 1

谁能告诉我这个星号(*)是用来干嘛的?...tblpersonal where empid like '" & idNumber & "*'"。如果我将它替换为百分号(%),结果会是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-09 18:57:52

LIKE条件允许您在SQL语句的where子句中使用通配符。这允许您执行模式匹配。LIKE条件可用于任何有效的SQL语句- select、insert、update或delete。

您可以选择的模式包括:

代码语言:javascript
复制
% allows you to match any string of any length (including zero length)

_ allows you to match on a single character

接下来,让我们解释一下_通配符是如何工作的。请记住,_只查找一个字符。

例如,

代码语言:javascript
复制
SELECT * FROM suppliers
WHERE supplier_name like 'Sm_th';

此SQL语句将返回名称长度为5个字符的所有供应商,其中前两个字符是'Sm‘,最后两个字符是'th’。例如,它可以返回名称为“Smith”、“Smyth”、“Smath”、“Smeth”等的供应商。

这是另一个例子,

代码语言:javascript
复制
SELECT * FROM suppliers
WHERE account_number like '12317_';

同样,您可以使用星号(*)而不是(%)

我希望这对你有帮助

票数 1
EN

Stack Overflow用户

发布于 2011-04-09 18:52:55

SQL中的百分号(%)表示“匹配此处的任意数量的字符”。例如,LIKE '%test'将匹配E.g测试,LIKE 'test%'将匹配可测试

星号字符看起来像是匹配文字*,例如匹配所有以星号结尾的empid(取决于SQL的版本-见下文)

编辑:有关*vs%的更深入的答案,请参阅Microsoft Jet wildcards: asterisk or percentage sign?

票数 1
EN

Stack Overflow用户

发布于 2011-04-09 18:56:22

这更多的是一个SQL语法问题,而不是一个VB6问题。:-)

您还没有提到它正在与哪个数据库对话(我假设它正在与一个数据库对话)。在SQL (或VB6字符串)中,星号通常并不特殊,因此查询将查找empid是否为like idNumber中的任何内容,后跟一个星号。这可能不是我们的初衷。如果您将其替换为%,您将查找以idNumber变量中的任何内容开头的任何empid。如果该列是数字列,则在比较之前将其转换为文本。

例如,如果idNumber包含100,并且数据库中的empid值具有值10、100、1000和10000,则查询将匹配除第一个值之外的所有值,因为"100%“、”1000%“和"10000”都是like“100%”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5604554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档