2010-10-05 50 views
1

這裏工作正常,我有微調的問題PostgreSQL的價值:Btrim功能沒有在PostgreSQL中

Ruby代碼:

if(this.modelName=="ClientOffice") 
     { this.params="model_name="+this.modelName+"&action_name="+this.actionName+"& 
find_condition=btrim(clients_corporate_billings.id,' ') %3D 
btrim('"+validString('populateValue0','text')+"',' ') 
    & object_id="+this.objectId; 
     } 

.....

&action_name="+this.actionName+" 
    &find_condition=btrim(clients_corporate_billings.id,' ') %3D 
    btrim('"+validString('populateValue0','text')+"',' ') 

在上面的代碼中,btrim是PostgreSQL的修剪功能,但是它會發生錯誤。

+0

和錯誤是什麼? – 2010-10-05 15:56:12

+0

錯誤:: PGError:錯誤:函數pg_catalog.btrim(整數,未知)不存在 線1:... ient_offices「.clients_corporate_billing_id WHERE(trim(clien ... – Rubyist 2010-10-05 16:00:13

+0

這很好 - 我也找不到一個函數「btrim」,其中第一個參數的類型爲integer,您必須將第一個參數強制轉換或轉換爲文本 – 2010-10-05 16:13:27

回答

2

documentation

Function: btrim(string text [, characters text])
Return Type: text
Description: Remove the longest string consisting only of characters in characters (a space by default) from the start and end of string
Example: btrim('xyxtrimyyx', 'xy')
Result: trim


所以你需要轉換爲文本:

&find_condition=btrim(clients_corporate_billings.id::text,' ') %3D

+0

真棒,Reall It Works .... Thnx Bro – Rubyist 2010-10-06 08:03:47

+1

很高興我們能幫到您,PostgreSQL錯誤非常具有描述性。有一個你知道存在的本地函數有問題,通常是由於傳入的參數。如果你看到一個關於'typecast'的消息,它會給你一個很大的幫助,以便知道該找什麼。 – vol7ron 2010-10-06 23:34:28

+0

hi @ vol7ron你可以plz幫助我,爲什麼這個'btrim('xyxtrimyyx','yzz')'顯示這個'xyxtrimyyx' – ziMtyth 2018-01-07 10:29:44