我正在使用该DBIx::Class模块,我正在尝试执行以下查询:
SELECT * FROM MyTable WHERE column > TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
我对Perl非常陌生,DBIx::Class所以我真的只知道如何在列等于值的情况下进行基本选择.如何使用其他比较器进行此操作?
DBIx::Class用于SQL::Abstract指定其WHERE子句,因此该模块的文档值得阅读.
你会习惯这样的事情
$schema->resultset('MyTable')->search({column => 42});
Run Code Online (Sandbox Code Playgroud)
查找列中具有特定值的记录.要使用特定的非等式运算符,您将使用包含运算符和值的匿名哈希,而不仅仅是一个裸值.像这样
$schema->resultset('MyTable')->search({column => { '>' => 42}});
Run Code Online (Sandbox Code Playgroud)
并且使用特定的SQL表达式而不是绑定值,您只需传递引用,就像这样
$schema->resultset('MyTable')->search({timestamp => { '>' => \'TIMESTAMP'}});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1308 次 |
| 最近记录: |