機械翻訳について

テキストFormula関数

テキスト・データの操作に使用できるFormula関数は、次のとおりです。

CHR(n)

数値オペランドnと等価のバイナリを持つASCII文字セットの文字を返します。

GREATEST(expr, expr [,expr]....)

すべてのテキスト文字列オペランドの値を比較します。 アルファベット順で最後の文字列の値を返します。

INITCAP(expr)

各単語の先頭を大文字にした式exprを返します。 英数字以外の単語または文字を空白で区切ります。

INSTR(expr1, expr2 [,n [,m]])

n番目の文字で始まるexpr1を検索して、m番目のexpr2の発生を検出し、この発生の最初の文字のexpr1内での位置を返します。 nが負の場合、INSTRはカウントと検索をexpr1の末尾から先頭に向かって実行します。 mは正である必要があります。 nmのデフォルト値は両方とも1であるため、INSTRexpr1の最初の文字から検索し、expr2の最初の発生を見つけます。 nの値に関係なく、戻り値はexpr1の先頭からの相対値であり、文字で表現されます。 検索に失敗した場合(expr1expr1n番目の文字の後にm回出現しない)、戻り値0が返されます。

INSTRB(expr1, expr2 [,n [,m]])

INSTRと同じように動作しますが、nおよび戻り値が文字ではなくバイトで表現されます。 シングルバイトの文字セットの場合、INSTRBINSTRに相当します。

LEAST(expr, expr [,expr]...)

すべてのテキスト文字列オペランドの値を比較します。 オペランドの中からアルファベット順で最初の文字列を返します。

LENGTH(expr)

テキスト文字列オペランドexpr内の文字数を返します。

LENGTHB(expr)

exprの長さをバイトの単位で返します。

LOWER(expr)

テキスト文字列を小文字に変換します。

LPAD(expr, n [,pad])

テキスト文字列オペランドexprの左側に、padの文字を連続で埋め込んでnの長さにして返します。 padのデフォルト値は空白です。 exprnより長い場合、LPADnに収まる範囲でexprを返します。

次に、この式の例をいくつか示します。

/* A is set to 'XYXYXhello' */
A = LPAD ('hello, 10, 'XY')
/* A is set to 'hell' */
A = LPAD ('hello', 4 )

LTRIM(expr [,set])

テキスト文字列オペランドexprの一番左から、set内の文字をすべて削除して戻します。 setのデフォルトは空白です。 set内にexprの最も左の文字がない場合は、LTRIMexprを返します。

例:

/* A is set to 'def' */
A = LTRIM ('abcdef','abc')
/* A is set to 'abcdef' *
/A = LTRIM ('abcdef','bc')

REPLACE(expr, search [,replacement])

出現するすべてのsearchreplacementに置換した状態で、テキスト文字列オペランドexprを返します。 replacementを省略した場合、すべてのsearchが削除されます。 1つの文字列を別の文字列に置換したり、文字列を削除したりするにはREPLACEを使用します。

例:

/* Set A to 'BLACK and BLUE'. */
A = REPLACE('JACK and JUE', 'J', BL')

RPAD(expr, n [,pad])

テキスト文字列オペランドexprの右側に、padの文字を連続で埋め込んでnの長さにして返します。 padのデフォルト値は空白です。 exprnより長い場合、RPADnに収まる範囲でexprを返します。

例:

/* A is set to 'helloXYXYX' */
A = RPAD ('hello, 10, 'XY')
/* A is set to 'hell' */
A = RPAD ('hello', 4 )

RTRIM(expr [,set])

テキスト文字列オペランドexprの一番右から、set内の文字をすべて削除して戻します。 setのデフォルト値は空白です。 set内にexprの一番右の文字がない場合は、exprが戻されます。

例:

/* A is set to 'abc' */
A = RTRIM ('abcdef','def')
/* A is set to 'abcdef' */
A = RTRIM ('abcdef','de')

SUBSTR( expr, m [,n])またはSUBSTRING( expr, m [,n])

SUBSTRINGは、テキスト文字列オペランドexprm番目の文字からn文字の長さの部分文字列を返します。 nが負の場合、SUBSTRexprを逆方向にカウントします。 nを省略した場合、mから始まりexprの末尾で終わる部分文字列が返されます。

例:

/* Check that the tax code starts with GG */
IF length(Tax_code) <= 2 
THEN
(message = 'Tax code is too short'
RETURN message
)IF substr( Tax_code, 1, 2) = 'GG' THEN ...

SUBSTRB((expr, m [,n])

SUBSTRと同じですが、引数mおよびnが文字ではなくバイトで表現されます。 シングルバイトのデータベース文字セットの場合、SUBSTRBSUBSTRに相当します。

TRANSLATE(expr,from,to)

テキスト文字列オペランドexpr内に出現するfromの各文字をすべて、to内の対応する文字に置換して返します。 fromに含まれていないexpr内の文字は置換されません。 引数fromにはtoよりも多くの文字を含めることができます。 その場合、fromの最後の文字に対応する文字がtoにありません。 このような余分な文字がexpr内にある場合、これらは戻り値から除去されます。

TRIM(expr)

文字列から先頭および末尾のスペースを削除します。

UPPER(expr)

テキスト文字列を大文字に変換します。

SPLIT FUNCTIONS

これらのテキストFormula関数は、TEXT_NUMBER配列を返します。 配列には、文字列をセパレータで分割した結果が含まれます。

SPLIT_BY_SPACES

セパレータは、一連の1つ以上の連続するスペースです。 ここで"スペース"には、スペース' 'に加えてタブ文字、改行が含まれます。

SPLIT_BY_SPACES(expr)

SPLIT_BY_SPACESの例を次に示します。

SPLIT_BY_SPACES('     Hello World !! ')

戻り値は、その順序で'Hello'、'World'、'!!'を含む配列です。

SPLIT

SPLIT(expr, separator, default_string)

exprをセパレータで区切った文字列に分割し、TEXT_NUMBER配列内の文字列を返します。 連続する2つのセパレータの間に何もない場合は、配列にdefault_stringが返されます。

SPLITの例1:

SPLIT('Hello|World', '|', '_')

戻り値は、'Hello'、'World'をその順序で含む配列です。

SPLITの例2 複数文字セパレータ:

SPLIT('Hello||World', '||', '_')

戻り値は、'Hello'、'World'をその順序で含む配列です。

SPLITの例3 デフォルト文字列の使用の表示:
SPLIT('|Hello||World|', '|', '_')

戻り値は、'_'、'Hello'、'_'、'World'、'_'をその順序で含む配列です。 デフォルト文字列'_'は、セパレータ間のギャップ(最初の'|'の前、2番目の'|'の後、3番目の'|'の前、最後の'|'の後)を置換します。

SPLITの例4 セパレータのない入力文字列:
SPLIT('Hello', '||', '_')

戻り値は'Hello'のみを含む配列です。