Thread: insert в varchar
Приветствую! Подскажите, можно ли настроить PgSQL таким образом, чтобы при insert'е в поле varchar(XX) строки длиннее XX+1 не возникало ошибки? Т.е. чтобы она просто обрезалась до XX символов. Спасибо. -- У каждого в башке свои тараканы...
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
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
Genix wrote: > Подскажите, можно ли настроить PgSQL таким образом, чтобы при insert'е в > поле varchar(XX) строки длиннее XX+1 не возникало ошибки? Т.е. чтобы > она просто обрезалась до XX символов. IMHO, это не дело постгреса. Вот поискать чего - эт к нему, а обрезание - только сам.
Здравствуйте, 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