我有以下代码:
set serveroutput on
declare
datos raw(100);
begin
dbms_output.put_line('The raw variable has a length of '||length(datos));
end;
/
为什么不起作用?它应该给我长度为100。
答案 0 :(得分:1)
以下
4
将返回
CREATE OR REPLACE FUNCTION fn_avl_spc(raw_val IN RAW)
IS
avl_spc NUMBER(100);
BEGIN
avl_spc := 100 - utl_raw.length(raw_val);
RETURN avl_spc;
END;
由于您没有为其指定任何值,因此长度仍为空。声明变量,确定变量的最大限制。但是,在为其分配值之前,它占用的内存为零。
更新
计算变量的剩余空间:
dbms_output.Put_line('The raw variable has a lenght of '
||fn_avl_spc(datos));
然后你可以按如下方式重写你的行:
org.apache.lucene.search.Query query1 = ....;
org.apache.lucene.search.Query query2 = ....;
org.apache.lucene.search.Query query3 = ....;
BooleanQuery booleanQuery = new BooleanQuery();
luceneBooleanQuery.add(query1, BooleanClause.Occur.MUST);
luceneBooleanQuery.add(query2, BooleanClause.Occur.SHOULD);
luceneBooleanQuery.add(query3, BooleanClause.Occur.SHOULD);
FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery(booleanQuery, DomainClass.class);
当然,您可以将功能提高到更灵活,并返回任意长度的任何数据类型的可用空间