我有這個奇怪的問題。我有一個有10列字符變化的表格。奇怪的SELECT行爲
我需要一個函數來搜索所有記錄並返回包含所有字符串的記錄的id。讓說記錄:
1. a,b,c,d,e
2. a,k,l,h
3. f,t,r,e,w,q
如果我把這個函數func(A,d)應該返回1,如果我叫FUNC(E,W,Q)它應該返回3.
功能是
CREATE OR REPLACE FUNCTION func(ma1 character varying,ma2 character varying,ma3 character varying,ma4 character varying)
DECLARE name numeric;
BEGIN
SELECT Id INTO name from Table WHERE
ma1 IN (col1,col2,col3,col4) AND
ma2 IN (col1,col2,col3,col4) AND
ma3 IN (col1,col2,col3,col4) AND
ma4 IN (col1,col2,col3,col4);
RETURN name;
END;
它工作90%的時間,奇怪的問題是,有些行沒有找到。
它不是大寫或小寫問題。
什麼可能是錯誤的,它的版本9.1在64位勝7.我感覺它像編碼或字符串的問題,但我不明白在哪裏和什麼。
//好的我找到了問題,它必須處理所有列,如果所有24列都填充,那麼它不工作?但爲什麼 ?有限制,因爲有24列,我必須與//
有人可以幫我PLZ。
謝謝。
你能在[SQLFiddle](http://sqlfiddle.com/)上設置一個顯示錯誤的例子嗎? –
嗨伊戈爾,沒有錯誤,它只是返回null選定。 – user1892954
如果您想要更好地解決問題,則應在此處或SQLFiddle中將一些示例傳遞和失敗的行作爲'insert'語句發佈。還可以將完整查詢和表格定義作爲'create table'語句發佈。 – dbenhur