prepare($query); $m-6ren">
gpt4 book ai didi

在 Perl 中使用 % 查询文本的 SQL LIKE

转载 作者:行者123 更新时间:2023-12-04 20:59:19 25 4
gpt4 key购买 nike

我有以下代码:

$query = "SELECT tac FROM lte_modems WHERE tac = ?";
$check_name = $dbh->prepare($query);
$my_name = "Jo"
$check_name->execute($my_name);
my @result = $check_name->fetchrow_array();

效果很好。我想更改 SQL 查询以获取以“Jo”开头的名称:即我的 SQL 查询应该是

   $query = "SELECT tac FROM lte_modems WHERE tac LIKE '?%'";

但这行不通。有什么帮助吗?也许我需要转义一些字符?

提前致谢

最佳答案

您需要在参数中包含 %。否则,您将获得额外的报价,因为 DBI 会为您处理。

my $sth = $dbh->prepare( "SELECT tac FROM lte_modems WHERE tac LIKE ?" );
$sth->execute( $my_name . '%' );

真正的诀窍是始终让 DBI 做所有的引用,而自己一个也不做。 DBI 不关心占位符 ? 是否在等于 =LIKEREGEXP 等之后别的。它会正确转义引号并在必要时添加引号。你根本不想干涉。

关于在 Perl 中使用 % 查询文本的 SQL LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43391963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com