簡體   English   中英

我正在嘗試為postgresql寫一個函數來做一些字符串操作

[英]I'm trying to write a function for postgresql to do some string manipulation

該函數的目的是獲取一個字符串,如果它包含括號,則刪除括號中的所有內容。 這是我所擁有的:

CREATE FUNCTION clearmethodparams(IN qname text) RETURNS text AS
  $BODY$        
  IF position($o$($o$ in qname) = 0 THEN
    return qname;
  ELSE 
    return substring(qname from 0 for position($p$($p$ in qname)) || $c$)$c$;
  END IF;
  $BODY$
LANGUAGE sql VOLATILE;

它一直給我的錯誤是

錯誤:“ IF”處或附近的語法錯誤第3行:IF位置(qname中的$ o $($ o $)= 0 THEN

我一直在尋找一些有關函數語法的好的文檔,但是到目前為止,沒有任何幫助。

您需要將函數從SQL函數 “轉換”為PL / pgSQL之一-在CREATE FUNCTION語句中將“ LANGUAGE sql”替換為“ LANGUAGE plpgsql”。 另外,您需要將代碼“包裝”在適當的塊中

OTOH,您可以使用SQL函數來實現相同的功能,例如,使用一些聰明的CASE用戶或類似用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM