PerlのDBIでLIKE検索にバインド変数を使おう
Perl の DBI で SQL を使いまわす場合、バインド変数を使うといろいろ楽ちんなんですが、LIKE 検索をする場合の書き方をいつも忘れてるのでメモメモです φ(..)。
で、何に迷うかって、 “%” をどこに使うか(書くか)なんですが、結論から言うとバインド変数に含めてやればいいんですね。
#!/usr/bin/perl use strict; use warnings; use DBI; my $dbh = DBI->connect('dbi:ODBC:hogehoge', 'username', 'password') || die "DB connect error:".$DBI::errstr; my $sql = "select * from friends where friend like ?"; my $sth = $dbh->prepare($sql); $sth->execute("mukai%"); # 以下略
とまぁ、こんな感じで。