
javaDBに対して、関数を拡張します。

【概要】
  javaDB に、特殊系の関数を登録します。
  これは、JavaDBが、数値⇔文字列の自動変換が出来ないための対応が、主です。

【方法】
  １．必要であれば、パス等を見直します。
  ２．_build.bat を実行します。
  ３．ogJavaDBFunctions.jar が作成されることを確認ください。
		log2.txt がエラーLOGになるため、0バイトであることを確認します。
  ４．Javaのエクステンション(JAVA_HOME\)jre\lib\ext にコピーします。

【その他】
  使用するには、FUNCTION を定義する必要があります。

==============================================================
// 数値を文字列に変換します。
// ただし、元の数字に端数がない場合は、".0" 部分をカットします。

DROP FUNCTION TO_CHAR;

CREATE FUNCTION TO_CHAR ( VAL DOUBLE )
RETURNS VARCHAR(20)
DETERMINISTIC			-- 引数が同じなら常に同じ値を返すことを示す.(省略時はnot deterministic)
PARAMETER STYLE JAVA	-- 戻り値のタイプ
NO SQL LANGUAGE JAVA	-- 関数の中でSQLは実行しないことを示す
EXTERNAL NAME 'org.opengion.javadb.Functions.toChar' ;



// 第１引数の文字列から、第２引数の部分文字列を、第２引数の文字列を置き換えます。

DROP FUNCTION REPLACE;

CREATE FUNCTION REPLACE ( VARCHAR(2000) , VARCHAR(2000) , VARCHAR(2000) )
RETURNS VARCHAR(4000)
DETERMINISTIC			-- 引数が同じなら常に同じ値を返すことを示す.(省略時はnot deterministic)
PARAMETER STYLE JAVA	-- 戻り値のタイプ
NO SQL LANGUAGE JAVA	-- 関数の中でSQLは実行しないことを示す
EXTERNAL NAME 'org.opengion.javadb.Functions.replace' ;



// 第１引数の数字と、第２、第３、第４の文字列をスペースで連結した文字列を返します。

DROP FUNCTION JOIN2;

CREATE FUNCTION JOIN2 ( INTEGER , VARCHAR(2000) , VARCHAR(2000) , VARCHAR(2000) )
RETURNS VARCHAR(4000)
DETERMINISTIC			-- 引数が同じなら常に同じ値を返すことを示す.(省略時はnot deterministic)
PARAMETER STYLE JAVA	-- 戻り値のタイプ
NO SQL LANGUAGE JAVA	-- 関数の中でSQLは実行しないことを示す
EXTERNAL NAME 'org.opengion.javadb.Functions.join2' ;




