Thread: insert в varchar

insert в varchar

From
Genix
Date:
Приветствую!

Подскажите, можно ли настроить PgSQL таким образом, чтобы при insert'е в
поле varchar(XX) строки длиннее    XX+1 не возникало ошибки? Т.е. чтобы
она просто обрезалась до XX символов.

Спасибо.

--
У каждого в башке свои тараканы...

Re: insert в varchar

From
Oleg Bartunov
Date:
On Tue, 6 Dec 2005, Genix wrote:

> Приветствую!
>
> Подскажите, можно ли настроить PgSQL таким образом, чтобы при insert'е в поле
> varchar(XX) строки длиннее    XX+1 не возникало ошибки? Т.е. чтобы она просто
> обрезалась до XX символов.

обрезай сам. substr() тебе поможет

>
> Спасибо.
>
>

     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Re: insert

From
"Alexander M. Pravking"
Date:
On Tue, Dec 06, 2005 at 04:24:49PM +0300, Genix wrote:
> Подскажите, можно ли настроить PgSQL таким образом, чтобы при insert'е в
> поле varchar(XX) строки длиннее    XX+1 не возникало ошибки? Т.е. чтобы
> она просто обрезалась до XX символов.

Если уж лень делать substr в запросах, то наиболее простым мне видится
следующее: сделать поле text вместо varchar(XX) и повесить триггер
BEFORE INSERT OR UPDATE, который будет обрезать поле до нужного размера.


--
Fduch M. Pravking

Re: insert в varchar

From
"Andrey N. Oktyabrski"
Date:
Genix wrote:
> Подскажите, можно ли настроить PgSQL таким образом, чтобы при insert'е в
> поле varchar(XX) строки длиннее    XX+1 не возникало ошибки? Т.е. чтобы
> она просто обрезалась до XX символов.
IMHO, это не дело постгреса. Вот поискать чего - эт к нему, а обрезание
- только сам.

Re: insert

From
"Denis A. Egorov"
Date:
Здравствуйте, Genix!

А так не подойдёт:


SELECT 'Test'::varchar(2);

 varchar
---------
  Te
(1 запись)


.

On Tue, Dec 06, 2005 at 04:24:49PM +0300, you wrote:

-> Приветствую!
->
-> Подскажите, можно ли настроить PgSQL таким образом, чтобы при insert'е в
-> поле varchar(XX) строки длиннее    XX+1 не возникало ошибки? Т.е. чтобы
-> она просто обрезалась до XX символов.
->
-> Спасибо.
->
-> --
-> У каждого в башке свои тараканы...
->
-> ---------------------------(end of broadcast)---------------------------
-> TIP 1: if posting/reading through Usenet, please send an appropriate
->       subscribe-nomail command to majordomo@postgresql.org so that your
->       message can get through to the mailing list cleanly
->


С уважением,
--
Denis A. Egorov