首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySql数据库中,如何在字段上查询而不考虑Perl DBI中字段的情况。

问在MySql数据库中,如何在字段上查询而不考虑Perl DBI中字段的情况。
EN

Stack Overflow用户
提问于 2015-07-16 05:45:35
回答 2查看 94关注 0票数 1

我在perl DBI中有下面的查询-

代码语言:javascript
复制
$query = $dbh->prepare(
    "SELECT * FROM domain WHERE domainname = ? AND servicename = ?");
$query->execute( $domain, $service );

如果服务名可以是不区分大小写的,例如,如果我现有的服务名是“storage”,那么它也应该获取“存储”的结果。

我试过下面的代码-

代码语言:javascript
复制
query = $dbh->prepare(
    "SELECT * FROM domain WHERE domainname = ? AND servicename = lower(?)");
$query->execute( $domain, $service );

但它并不适用于servicename =“存储”。

有我错过的指针吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-16 05:50:43

您还应该对列值使用lower函数:

代码语言:javascript
复制
query = $dbh->prepare(
    "SELECT * FROM domain WHERE domainname = ? AND lower(servicename) = lower(?)");
$query->execute( $domain, $service );
票数 4
EN

Stack Overflow用户

发布于 2015-07-16 08:13:06

您可以使用Mysql的ilike函数,它不区分大小写。

代码语言:javascript
复制
query = $dbh->prepare(
    "SELECT * FROM domain WHERE domainname = ? AND servicename = ilike(?)"
);

$query->execute( $domain,$service );

ilike使比较大小写不敏感。

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

https://stackoverflow.com/questions/31446137

复制
相关文章

相似问题

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