regexp_split_to_tableのような関数を探しているのですが、データベースのバージョンは8.2.9なので、それがありません。私は実際にはスペースで分割するだけなので、次のような文字列です。
どうやって茶色の牛
戻ってくるだろう
+------+
|Column|
+------+
|how |
|now |
|brown |
|cow |
+------+
これを処理できる簡単な関数はありますか、それとも自分で書かなければならないものはありますか?
ベストアンサー1
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;
$$;