我只是一個新手,Perl和我試圖使用Perl DBIx ::類ORM。我想轉換一個SQL語句是有時像相應的Perl DBIx ::班SQL似與不似聲明
SELECT `COLUMN_1` FROM TABLE
WHERE `COLUMN_NAME` LIKE "regex1"
AND `COLUMN_NAME` NOT LIKE` "regex2".
我知道search_where
聲明的補充條件,但我不能夠找到像等價,而不是像?
我只是一個新手,Perl和我試圖使用Perl DBIx ::類ORM。我想轉換一個SQL語句是有時像相應的Perl DBIx ::班SQL似與不似聲明
SELECT `COLUMN_1` FROM TABLE
WHERE `COLUMN_NAME` LIKE "regex1"
AND `COLUMN_NAME` NOT LIKE` "regex2".
我知道search_where
聲明的補充條件,但我不能夠找到像等價,而不是像?
search_like
僅僅是一個方便快捷。你可能不想使用它。
有幾種方式與search
儘管實現這一目標。請記住ResultSet調用與search
可以鏈接,以建立最終的ResultSet。
$rs->search(
{
column_name => { -like => 'foo' },
}
)->search(
{
column_name => { -not_like => 'bar' },
}
);
另外,您也可以只將它們組合起來,如圖所示in this older mailing list post。
$rs->search(
{
column_name => {
-like => 'foo',
-not_like => 'bar',
}
}
);
或者你可以用一個AND
鏈接它們,這是更詳細的。
$rs->search(
{
-and => [
{ column_name => { -like => 'foo' } },
{ column_name => { -not_like => 'bar' } },
]
}
);
所有這些都做同樣的事情。
您可以找到有關這個語法SQL::Abstract,這是引擎蓋下使用DBIx ::類的其他信息。
請注意LIKE
確實不是需要正則表達式。
類嗨感謝您的幫助,順便說一句,有沒有變通的正則表達式,因爲在SQL LIKE語句我使用一個字符串的正則表達式 感謝 –
@Always_Beginner你使用哪個數據庫引擎? 'LIKE'實際上不應該支持正則表達式。一些DB有一個REGEXP運算符。 – simbabque
對不起,我不好的信息不完全是DBIx :: –