sql - SQL::Maker 如何向字段添加函数
问题描述
MWE:
#!/usr/bin/perl
use strict;
use warnings;
use SQL::Maker;
our $builder = SQL::Maker->new(
driver => 'mysql',
);
my @fields = (
['ABS(field)' => 'VAT'],
);
my ($sql, @bind) = $builder->select("test", \@fields);
print $sql;
输出:
SELECT `ABS(field)` AS `VAT`
FROM `test`
我怎样才能得到:
SELECT ABS(`field`) AS `VAT`
FROM `test`
?
解决方案
以下内容可能有效,也可能无效,quote_char
有时可以省略,但引入的风险由您自行评估:
our $builder = SQL::Maker->new(
driver => 'MySQL',
quote_char => '',
);
然后
my @fields = (
['ABS(`field`)' => 'VAT'],
);
这给出了:
SELECT ABS(`field`) AS VAT
FROM test
推荐阅读
- r - 使用正则表达式和/或删除重复
- python - 何时在 Pyserial 中使用 close() 和 __del__()?
- javascript - 组件在 mount() 上发出 GET 请求,并对子组件作出响应。如果我输入直接指向子组件的 URL 会发生什么?
- arrays - Laravel ORM 关系将数据作为数组而不是对象返回
- javascript - 如何在 React Native 中更改按钮的颜色?
- amazon-web-services - 如何在 ask-sdk-2 中使用会话属性和使用持久属性存储数据
- snakemake - snakemake temp() 导致不必要的规则重新运行
- python - 应该定义“密集”输入的最后一个维度。找到`无`
- coq - Basics.vo 包含库 Basics 而不是库 Metalib.Basics
- python - 预测 svm 中的多类