我有这个奇怪的问题。我有一个表,其中包含 10 列不同类型的字符。
我需要一个函数来搜索所有记录并返回包含所有字符串的记录的 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% 的时间都在工作,奇怪的问题是找不到某些行。
它不是大写或小写的问题。
有什么问题,它在 64 位 win 7 上的版本 9.1。我觉得它像编码或字符串问题,但我看不出在哪里和什么。
//好吧,我发现了问题,它与所有列有关,如果所有 24 列都填满了,那么它不起作用??但为什么 ?是否有限制,因为我必须比较 24 列//
有人可以帮我吗?
谢谢。