Re: [HACKERS] string_to_array with empty input
От | Brendan Jurd |
---|---|
Тема | Re: [HACKERS] string_to_array with empty input |
Дата | |
Msg-id | 37ed240d0903302345u4dc2fa04id539d1b62046b922@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: string_to_array with empty input (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [HACKERS] string_to_array with empty input
Re: string_to_array with empty input |
Список | pgsql-general |
On Tue, Mar 31, 2009 at 2:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Does anyone want to argue for keeping it the same? Or perhaps > argue that a zero-element array is a more sensible result than > a one-element array with one empty string? (It doesn't seem > like it to me, but maybe somebody thinks so.) > My first thought was that it should be a zero-element array, because then the string_to_array() behaviour would conform to the notion that it returns an array with 1 element per string fragment bounded by the delimiter. However, I note that if you provide an empty delimiter, or one which doesn't occur anywhere in the source string, you get an array with one element, being the entire source string. # select string_to_array('1-2-3', '-'); {1,2,3} # select string_to_array('1-2-3', 'x'); {1-2-3} Given this behaviour, I would argue for consistent treatment for a zero-length source string: it should return an array with one element, being the entire source string, whenever there is no string splitting to take place. And if the source string happens to be zero-length, then the return value would be as expected by the OP. Cheers, BJ
В списке pgsql-general по дате отправления: