[Moscow.pm] DBIx и преобразование типов

iSage isage на aumi.ru
Вс Авг 14 00:51:33 PDT 2011


Вариант А)
http://search.cpan.org/~abraxxa/DBIx-Class-0.08195/lib/DBIx/Class/InflateColumn/DateTime.pm
Вариант Б)
http://search.cpan.org/~abraxxa/DBIx-Class-0.08195/lib/DBIx/Class/Manual/Cookbook.pod#Arbitrary_SQL_through_a_custom_ResultSource

Иначе, имхо, никак. Но я могу ошибаться.


On Sun, 14 Aug 2011 10:40:16 +0400, Ivan Petrov
<i.petro.77.00 на gmail.com> wrote:
> есть таблица в постгрис
> 
> table_name
> (
>   id SERIAL,
>   dt TIMESTAMP NOT NULL DEFAULT NOW()
> );
> 
> далее выбираем из нее 
> 
> my $row = dbhx->resultset('Name')->find(10);
> 
> далее пишем
> 
> printf "%s\n", $row->dt;
> 
> и печатает дату и время.
> 
> вроде все хорошо.
> 
> но иногда надо, например выбрать только дату
> 
> в SQL это звучало бы так:
> 
>     SELECT id, dt::date FROM table_name;
> 
> или например выбрать только время
> 
> в SQL это звучало бы так:
> 
> 
>     SELECT id, dt::time FROM table_name;
> 
> либо выбрать время без микросекунд.
> 
> 
> в MySQL оператор CAST на эту тему трудится
> 
> вопрос: как делать такие выборки с использоанием DBIx? ткните в нужное
> место документации



Подробная информация о списке рассылки Moscow-pm