Thomas Kellerer <spam_eater@gmx.net> schrieb:
> Andreas Kretschmer wrote on 28.10.2007 12:42:
> >>I have a column with the datatype "text" that may contain leading
> >>whitespace (tabs, spaces newlines, ...) and I would like to remove them
> >>all (ideally leading and trailing).
> >You can use trim() for that:
> >select 'x' || trim(both '\t' from trim(both ' ' from ' \t\tfoo bar '))
> >|| 'x';
> >(for testing with 'x' around the result)
> Yes I was thinking about a solution like that as well, but wouldn't that
> only work if the order in which spaces and tabs appear is always the same?
> The above would replace ' \t' but not '\t ', right?
Oh, yes.
>
>
> >For regexp_replace() you need an extra parameter 'g' like below:
> Cool, works like a charm.
Nice, i'm glad to help you.
> But it seems my problem was actually caused by something else:
>
> SELECT regexp_replace(myfield, '\s*', '', 'g')
> FROM mytable;
you should escape the \, change to ...'\\s*'...
But without anchors this replaces all whitespaces, also within the text
and not only at the beginning/end (^ and $)
Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknow)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°