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`
?
答案 0 :(得分:1)
以下内容可能有效或无效,quote_char
有时可以省略,但是引入的风险由您自己评估:
our $builder = SQL::Maker->new(
driver => 'MySQL',
quote_char => '',
);
及以后
my @fields = (
['ABS(`field`)' => 'VAT'],
);
这给出了:
SELECT ABS(`field`) AS VAT
FROM test
答案 1 :(得分:1)
为了获得逐字代码,我们需要引用字段名称:
my @fields = (
[\'ABS(field)' => 'VAT'],
);
输出:
SELECT ABS(field) AS `VAT`
FROM `test`