在MySql数据库中,如何在不考虑Perl DBI中字段大小写的情况下查询字段
下面是perl DBI中的查询-在MySql数据库中,如何在不考虑Perl DBI中字段大小写的情况下查询字段,mysql,database,perl,dbi,Mysql,Database,Perl,Dbi,下面是perl DBI中的查询- $query = $dbh->prepare( "SELECT * FROM domain WHERE domainname = ? AND servicename = ?"); $query->execute( $domain, $service ); 其中servicename可以不区分大小写,即如果我现有的服务名称是“Storage”,那么它也应该获取“Storage”的结果 我试过下面的代码- query = $dbh->pr
$query = $dbh->prepare(
"SELECT * FROM domain WHERE domainname = ? AND servicename = ?");
$query->execute( $domain, $service );
其中servicename可以不区分大小写,即如果我现有的服务名称是“Storage”,那么它也应该获取“Storage”的结果
我试过下面的代码-
query = $dbh->prepare(
"SELECT * FROM domain WHERE domainname = ? AND servicename = lower(?)");
$query->execute( $domain, $service );
但它对servicename='storage'不起作用
任何我遗漏的指针?您还应使用
lower
函数作为列值:
query = $dbh->prepare(
"SELECT * FROM domain WHERE domainname = ? AND lower(servicename) = lower(?)");
$query->execute( $domain, $service );
对于列值,还应使用
lower
函数:
query = $dbh->prepare(
"SELECT * FROM domain WHERE domainname = ? AND lower(servicename) = lower(?)");
$query->execute( $domain, $service );
您可以使用Mysql的
ilike
功能
它不区分大小写
query = $dbh->prepare(
"SELECT * FROM domain WHERE domainname = ? AND servicename = ilike(?)"
);
$query->execute($domain,$service)
ilike
进行比较不区分大小写您可以使用Mysql的ilike
功能
它不区分大小写
query = $dbh->prepare(
"SELECT * FROM domain WHERE domainname = ? AND servicename = ilike(?)"
);
$query->execute($domain,$service)
ilike
使比较不区分大小写