Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

文字列操作 (SQL)

文字列操作の関数および演算子

概要

InterSystems SQL では、以下の複数のタイプの文字列操作をサポートします。

  • 文字列は、長さ、文字の位置、または部分文字列値により操作できます。

  • 文字列は、指定の区切り文字または区切り文字列により操作できます。

  • 文字列は、パターン・マッチングと単語認識検索によりテストできます。

  • リストと呼ばれる特別にエンコードされた文字列には、区切り文字を使用しない埋め込み部分文字列識別子が含まれます。さまざまな $LIST 関数は、これらのエンコードされた文字列を操作します。この文字列は、標準の文字列とは互換性がありません。唯一の例外は、$LISTGET 関数と、引数が 1 つおよび 2 つの形式の $LIST 関数です。これらの関数は、入力としてエンコードされた文字の文字列を受け取り、単一要素値を標準文字の文字列として出力します。

InterSystems SQL は、文字列関数、文字列条件式、および文字列演算子をサポートします。

ObjectScript の文字列操作では、大文字と小文字が区別されます。文字列の文字は、大文字や小文字に変換するか、または両方を混在させて保持することができます。文字列照合では大文字と小文字が区別されるようにすることもでき、区別されないようにすることもできます。既定では、SQL 文字列照合は、大文字と小文字が区別されない SQLUPPER です。InterSystems SQL は、さまざまな大文字/小文字、照合関数、および演算子を提供しています。

文字列が数値引数に対して指定される場合、ほとんどの InterSystems SQL 関数は、以下の文字列から数値への変換を実行します。数値以外の文字列は 0 に変換されます。数値文字列はキャノニック形式の数値に変換されます。混合数値文字列は最初の非数値文字で切り捨てられ、キャノニック形式の数値に変換されます。

文字列連結

以下の関数は部分文字列を単一の文字列に連結します。

  • CONCAT : 2 つの部分文字列を連結して、単一の文字列を返します。

  • STRING : 2 つ以上の部分文字列を連結して、単一の文字列を返します。

  • XMLAGG : 列内のすべての値を連結して、単一の文字列を返します。詳細は、"集約関数" を参照してください。

  • LIST : コンマ区切りを含む列内のすべての値を連結して、単一の文字列を返します。詳細は、"集約関数" を参照してください。

連結演算子 (||) も、2 つの文字列を連結するために使用できます。

文字列の長さ

以下の関数は文字列の長さを決定するために使用できます。

  • CHARACTER_LENGTH および CHAR_LENGTH : 末尾の空白を含む、文字列の文字数を返します。NULL は NULL を返します。

  • LENGTH : 末尾の空白を除く、文字列の文字数を返します。NULL は NULL を返します。

  • $LENGTH : 末尾の空白を含む、文字列の文字数を返します。NULL は 0 として返されます。

トランケーションとトリミング

以下の関数は文字列を切り捨てるか削除するために使用できます。トランケーションは、文字列の長さを制限し、指定された長さを超えるすべての文字を削除します。トリミングは、先頭および/または末尾の空白を文字列から削除します。

部分文字列の検索と置換

以下の関数は、文字列内の部分文字列を検索し、それを別の部分文字列と置き換えます。

  • REPLACE : 文字列の値による検索を実行し、部分文字列を新しい部分文字列と置き換えます。文字列の最初から検索します。

  • STUFF : 文字列の位置と長さによる検索を実行し、部分文字列を新しい部分文字列と置き換えます。文字列の最初から検索します。

文字タイプと単語認識比較

%PATTERN 比較演算子は、文字列を指定の文字タイプのパターンとマッチングします。

ワイルドカード検索を含む、指定された単語や語句の文字列の単語認識検索を実行できます。詳細は、"InterSystems SQL Search の使用法" を参照してください。

FeedbackOpens in a new tab