Я создаю функцию для моей базы данных postgresql, и мне нужно кодировать 6-битную строку как символы ascii. Хотя я получаю ОШИБКУ: неправильный массив буквально. Как я могу решить это?
Чтобы решить эту проблему, я уже изучил использование правильных скобок и одинарных кавычек. Но мне пока не удалось.
`CREATE OR REPLACE FUNCTION example(payload bit varying)
RETURNS text AS $str$
DECLARE
str text := '';
len int;
i int;
tbl text[] := '{@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\\,],^,_," ",!,"\"",#,$,%,&,‘,(,),*,+,",-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?}'::text[];
BEGIN
.....
END;
$str$ LANGUAGE plpgsql
IMMUTABLE
;`
Below the error message:
ERROR: malformed array literal: `"@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\\,],^,_," ",!,"\"",#,$,%,&,‘,(,),*,+,",-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?}"
LINE 1: SELECT '{@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y...
^
DETAIL: Unexpected end of input.
QUERY: SELECT '{@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\\,],^,_," ",!,"\"",#,$,%,&,‘,(,),*,+,",-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?}'::text[]
CONTEXT: PL/pgSQL function example(bit varying) line 7 during statement block local variable initialization
SQL state: 22P02