3.5.2. 文字列関数


文字列関数は一般的に文字列を入力として取得し、文字列を出力として返します。

指定されていない場合、以下の表のすべての引数および戻り値の型は文字列であり、すべてのインデックスは 1 をベースとします。0 インデックスは文字列の開始前に考慮されます。

Expand
機能定義データタイプ制約

x || y

Concatenation Operator

X,y in {string, clob}, return type is string or character large object(CLOB)

ASCII(x)

x の左文字の ASCII 値を指定します[1]。入力として空の文字列は null を返します。

戻り値の型は整数です

CHR(x) CHAR(x)

ASCII 値の x [a] に文字[1] を指定します。

x in {integer}

[1] エンジンの ASCII 関数および CHR 関数の実装では、文字は UCS2 値のみに制限されます。プッシュダウンでは、文字値のソースがコード 255 以外の文字値の整合性はほとんどありません。

CONCAT(x, y)

ANSI セマンティクスで x および y を連結します。x や y が null の場合は、null を返します。

X, y({string} の場合)

CONCAT2(x, y)

非ANSI null セマンティクスで x および y を連結します。x および y が null の場合は、null を返します。x または y のみが null の場合は、他の値を返します。

X, y({string} の場合)

ENDSWITH(x, y)

y が x で終わるかどうかを確認します。x または y が null の場合は、null を返します。

X, y in {string}, returns boolean

INITCAP(x)

文字列 x 大文字、およびその他の小文字で、各単語の最初の文字を作成します。

x in {string}

INSERT(str1, start, length, str2)

string2 を string1 に挿入します。

str1 in {string}, start in {integer}, length in {integer}, str2 in {string}

LCASE(x)

x の小文字

x in {string}

LEFT(x, y)

get left y characters of x

X in {string}, y in {integer}, return string

LENGTH(x) CHAR_LENGTH(x) CHARACTER_LENGTH(x)

x の長さ

戻り値の型は整数です

LOCATE(x, y)POSITION(x IN y)

y の開始時に y の位置を見つけます。

X in {string}, y in {string}, return integer

LOCATE(x, y, z)

z から、y で x の位置を見つけます。

X in {string}, y in {string}, z in {integer}, return integer

LPAD(x, y)

y の長さの空白があるパッド入力文字列 x。

X in {string}, y in {integer}, return string

LPAD(x, y, z)

文字 z を使用して y の長さのパッド入力文字列 x。

X in {string}, y in {string}, z in {character}, return string

LTRIM(x)

空の文字の左のトリム。

X in {string}, return string

QUERYSTRING(path [, expr [AS name] …])

指定のパスに追加される適切にエンコードされたクエリー文字列を返します。null 値式は省略され、次に null パスは " として処理されます。名前は列参照式では任意となります。たとえば、QUERYSTRING('path', 'value' as "&x", ' & ' as y, null as z)returns 'path?%26x=value&y=%20%233620'です。

{string} のパス(例: name)は識別子です。

REPEAT(str1,instances)

string1 を指定した回数で繰り返します。

{string} の str1、{integer} のインスタンス文字列を返します。

RIGHT(x, y)

get right y characters of x

X in {string}, y in {integer}, return string

RPAD(input string x, pad length y)

y の長さの右側のスペースを含むパッド入力文字列 x

X in {string}, y in {integer}, return string

RPAD(x, y, z)

文字 z を使用した y の長さのパッド入力文字列 x

X in {string}, y in {string}, z in {character}, return string

RTRIM(x)

空の文字の右側のトリミング

X は文字列で、返される文字列です。

SPACE(x)

スペース文字 x の回数を繰り返す

X は整数で、返される文字列です。

SUBSTRING(x, y)SUBSTRING(x FROM y)

[b] Get substring from x, from the position y to the end of x

{integer} の Y

SUBSTRING(x, y, z)SUBSTRING(x FROM y FOR z)

[b] 長さ z で位置 y から x のサブ文字列を取得

Y, z in {integer}

TRANSLATE(x, y, z)

y の各文字を同じ位置の z の文字に置き換えることで、変換文字列 x を使用します。

x in {string}

TRIM([[LEADING|TRAILING|BOTH] [x] FROM] y)

先頭、末尾、または文字 x の文字列の y の末尾をトリミングします。LEADING/TRAILING/BOTH が指定されていない場合は、BOTH が使用されます。トリム文字 x を指定しないと、空白のスペース「 が使用されます。

x in {character}, y in {string}

UCASE(x)

x の大文字

x in {string}

UNESCAPE(x)

x のエスケープされていないバージョン。エスケープシーケンスは \b - バックスペース、\t - タブ、\n - 改行、\f - フォームフィード、\r - キャリッジリターンです。エスケープ文字の後に他の文字が表示されると、その文字は出力に表示され、エスケープ文字は無視されます。

x in {string}

[a] これらの関数で使用される非 ASCII 範囲文字または整数は、関数が評価される場所(Data Virtualization vs. source)に応じて異なる結果または例外を生成する場合があります。Data Virtualization は、UTF16 値で実行される Java のデフォルト int を使用して、char および char を int 変換に使用します。

[b] ソースに依存するサブ文字列関数には、負の引数/長さの引数に対する一貫した動作や、/length 引数のバインド外に関連する動作がありません。Data Virtualization のデフォルト動作は次のとおりです。

  • from 値がバインド不足、または長さが 0 未満の場合は null 値を返します。
  • インデックスのゼロは 1 と同じように有効です。
  • インデックスから負の値は、最初に文字列の最後からカウントされます。

ただし、一部のソースは null ではなく空の文字列を返すことができ、一部のソースは負のインデックスと互換性がありません。

TO_CHARS

指定されたエンコーディングでバイナリー大規模なオブジェクト(BLOB)から CLOB を返します。

TO_CHARS(x, encoding [, wellformed])
Copy to Clipboard Toggle word wrap

BASE64、HEX、UTF-8-BOM、および組み込みの Java Charset 名はエンコーディング [b] の有効な値です。x は BLOB で、エンコーディングは文字列で、適切にフォームはブール値で、CLOB を返します。デフォルトでは、2 つの引数形式はデフォルトで wellformed=true に設定されます。適切な情報が false である場合、変換関数は即座に結果を検証し、不適切な文字や不正な入力で例外が発生します。

TO_BYTES

指定されたエンコーディングで CLOB から BLOB を返します。

TO_BYTES(x, encoding [, wellformed])
Copy to Clipboard Toggle word wrap

BASE64、HEX、UTF-8-BOM、および組み込み Java Charset 名はエンコーディングの有効な値です [b]。CLOB の x は文字列で、エンコードはブール値で、BLOB を返します。デフォルトでは、2 つの引数形式はデフォルトで wellformed=true に設定されます。適切な情報が false である場合、変換関数は即座に結果を検証し、不適切な文字や不正な入力で例外が発生します。適切ではない文字が true の場合、文字セットのデフォルト置換文字に置き換えられます。BASE64 や HEX などのバイナリー形式は、適切なパラメーターに関係なく、正確性の有無がチェックされます。

[b] Charset 名の詳細は、Charset docs を参照してください。

REPLACE

指定の文字列のすべての出現箇所を別の文字列に置き換えます。

REPLACE(x, y, z)
Copy to Clipboard Toggle word wrap

x で y のすべての出現箇所を z に置き換えます。x、y、z は文字列で、戻り値は文字列です。

REGEXP_REPLACE

特定のパターンの 1 つまたはすべての出現箇所を別の文字列に置き換えます。

REGEXP_REPLACE(str, pattern, sub [, flags])
Copy to Clipboard Toggle word wrap

str 内のパターンの 1 つ以上を sub に置き換えます。すべての引数は文字列で、戻り値は文字列です。

pattern パラメーターは有効な Java 正規表現であることが想定されます。

flags 引数は、以下の意味を持つ有効なフラグのいずれかを連結できます。

Expand
フラグ名前意味

g

グローバル

最初のものだけではなく、すべての出現箇所を置き換えます。

m

複数行

複数の行で照合します。

i

大文字と小文字を区別しない

ケースの機密性なしで一致します。

使用方法

以下は、グローバルおよび大文字と小文字を区別しないオプションを使用して「xxbye Wxx」を返します。

regexp_replace の例

regexp_replace('Goodbye World', '[g-o].', 'x', 'gi')
Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat