为什么DBI(DBD :: Pg)没有为我的即席查询返回正确的文本列类型?

时间:2010-04-01 18:13:19

标签: perl dbi

这是什么?

my $sth = $dbh->prepare(q~

    select 'hello'::text as my_text_column

~);
$sth->execute;

print $$sth{TYPE}[0]; # prints -1, expected 12

我可以select 5并返回正确的类型(4,对于整数)或将其转换为select 5::numeric(4, 2)并返回3。为什么它不喜欢文本列?

1 个答案:

答案 0 :(得分:2)

我不知道您问题的答案,但作为解决方法,您可以使用特定于帖子的$sth->{pg_type}而不是$sth->{TYPE}

在您的示例中,$sth->{pg_type}->[0]会返回“text”。