D:\arc\onig>isql d:\usr\doc\HOE.GDB -u sysdba -p masterkey Database: d:\usr\doc\HOE.GDB, User: sysdba SQL> select s,mregexp(s,'あ.う','SJIS') from j; S MREGEXP ================================ ============ あいう 1 かきく 0 んあいうん 1 イあ 0 SQL> select * from onig_test_mregexp('あ.う'); STR MATCHED ================================ ============ あいう 1 かきく 0 んあいうん 1 イあ 0 SQL> select * from onig_test('あ.う'); STR MATCHED ==================== ============ あいう 1 かきく 0 んあいうん 1 イあ 0 SQL> select * from j; S ================================ あいう かきく んあいうん イあ SQL> show table j; S VARCHAR(32) Nullable SQL> show procedures; Procedure Name Dependency, Type ================================= ====================================== ONIG_TEST J, Table ONIG_FREE, User Defined Function ONIG_NEW, User Defined Function ONIG_SEARCH, User Defined Function SQL> show procedure onig_test; Procedure text: ============================================================================= DECLARE VARIABLE regex INTEGER; DECLARE VARIABLE ret INTEGER; begin regex = onig_new(:pat, 'SJIS'); if (regex > 0) then begin for select s,onig_search(:regex, s) from j into :str, :matched do suspend; ret = onig_free(regex); end end ============================================================================= Parameters: PAT INPUT VARCHAR(20) STR OUTPUT VARCHAR(20) MATCHED OUTPUT INTEGER(20) SQL> show function onig_search; Function ONIG_SEARCH: Function library is udf_onig.dll Entry point is fn_onig_search Returns BY VALUE INTEGER Argument 1: INTEGER Argument 2: CSTRING(64) CHARACTER SET NONE SQL> exit; D:\arc\onig>