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

STRING (SQL)

式を文字列に変換して連結する関数。

Synopsis

STRING(string1[,string2][,...][,stringN])

引数

引数 説明
string フィールド名、文字列リテラル、数値、または他の関数の結果となる式。基本となるデータ型は、任意の文字タイプ (CHAR や VARCHAR など) とすることができます。フィールド名が指定されている場合は、論理値が使用されます。

概要

STRING は、1 つ以上の string を STRING 形式に変換し、これらの文字列を単一の文字列に連結します。ケース変換は実行されません。

STRING は、文字列変換する前に数値をキャノニック形式に変換します。そのため、算術演算が実行され、数値の先頭および末尾のゼロと先頭のプラス記号が取り除かれます。

string 引数のいずれかが NULL または空の文字列 ('') の場合、STRING はその他すべての引数を連結し、NULL と空の文字列をその連結から削除します。すべての string 引数が NULL の場合、STRING は NULL を返します。すべての string 引数が空文字列 ('') の場合、STRING は空文字列を返します。STRING は、空白を保持します。

%SQLSTRING 関数を使用すると、データを文字列の大文字と小文字を区別して比較するための値に変換します。また、%SQLUPPER 関数は、データを文字列の大文字と小文字を区別せずに比較するための値に変換します。

以下の埋め込み SQL の例では、STRING により 3 つの部分文字列を単一の文字列に連結しています。また、空白スペース、空文字列、および NULL の処理についても示しています。

   &sql(SELECT STRING('a','b','c'),
               STRING('a',' ','c'),
               STRING('a','','c'),
               STRING('a',NULL,'c')
        INTO :w,:x,:y,:z)
   IF SQLCODE'=0 {
     WRITE !,"Error code ",SQLCODE }
   ELSE {
     WRITE !,"Resulting string is:",w    // w = "abc"
     WRITE !,"Resulting string is:",x    // x = "a c"
     WRITE !,"Resulting string is:",y    // y = "ac"
     WRITE !,"Resulting string is:",z    // z = "ac"
   }

以下の埋め込み SQL の例では、STRING により数値を文字列に変換しています。これらすべての STRING 関数は、文字列 '123' を返します。

   &sql(SELECT STRING(123),
               STRING(+00123.00),
               STRING('1',23),
               STRING(1,(10*2)+3)
        INTO :w,:x,:y,:z)
   IF SQLCODE'=0 {
     WRITE !,"Error code ",SQLCODE }
   ELSE {
     WRITE !,"Resulting string is:",w    // w = 123
     WRITE !,"Resulting string is:",x    // x = 123
     WRITE !,"Resulting string is:",y    // y = 123
     WRITE !,"Resulting string is:",z    // z = 123}

以下の埋め込み SQL の例では、STRING を使用してフィールドからサンプル・データを取得し、これを文字列に変換しています。

   &sql(SELECT STRING(Name,Age)
        INTO :x
        FROM Sample.Person)
   IF SQLCODE'=0 {
     WRITE !,"Error code ",SQLCODE }
   ELSE {
     WRITE !,"Resulting string is:",x }

関連項目

%SQLUPPER%SQLSTRINGSTR

FeedbackOpens in a new tab