我正在寻找类似regexp_split_to_table的函数,但是我们的数据库版本为8.2.9,因此它没有它。我真的只是在一个空格上分割,所以像这样的字符串
现在怎么棕色牛
会回来
+------+ |Column| +------+ |how | |now | |brown | |cow | +------+
是否有一个可以处理此问题的简单函数,或者我必须自己编写的函数?
您可以使用unnest函数将数组拆分为结果集,并可以使用string_to_array函数将字符串文字转换为数组。结合两者,您将得到:
alvherre=# select unnest(string_to_array('the quick lazy fox', ' ')); unnest -------- the quick lazy fox (4 filas)
由于8.2没有UNNEST,因此您可以像这样在PostgreSQL中编写它:
create or replace function unnest(anyarray) returns setof anyelement language sql as $$ select $1[i] from generate_series(array_lower($1, 1), array_upper($1, 1)) as i; $$;