egdb3_11_7
.search
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
distribute_phrase_sign(input text)
Parameters
Name
Type
Mode
input
text
IN
Definition
DECLARE phrase_sign TEXT; output TEXT; BEGIN output := input; IF output ~ '^(?:-|\+)' THEN phrase_sign := SUBSTRING(input FROM 1 FOR 1); output := SUBSTRING(output FROM 2); END IF; IF output LIKE '"%"' THEN IF phrase_sign IS NULL THEN phrase_sign := '+'; END IF; output := BTRIM(output,'"'); END IF; IF phrase_sign IS NOT NULL THEN RETURN REGEXP_REPLACE(output,'(^|\s+)(?=[[:alnum:]])','\1'||phrase_sign,'g'); END IF; RETURN output; END;