Postgresql
將 regexp_split_to_array() 的結果分配給 Pl/pgSQL 數組變數
如何創建一個數組,然後將函式的結果放入其中?
我這樣做是這樣的:
array text[]; select regexp_split_to_array('whatever this is it splits into array with spaces', E'\\s+') into array;
但顯然它不起作用,當我嘗試
raise notice '%', array[1];
這不是它是如何完成的。
**
array
**是一個保留字。您不能將其用作 PL/pgSQL 中的變數名。這有效:
DO $do$ DECLARE _arr text[]; BEGIN SELECT regexp_split_to_array('this splits into array with spaces', '\s+') INTO _arr; RAISE NOTICE '%', _arr[1]; END $do$;
也簡化了
E'\\s+'
–>'\s+'
。
standard_conforming_strings = ON
是自 Postgres 9.1 以來的預設設置,現在應該是通用設置。