Sybase IQで一般的に使用される関数-文字列関数(2)



Sybase Iq Commonly Used Functions String Functions



SybaseIQで一般的に使用される関数Daquan–文字列関数(2)

クエリインデックス:

  1. PATINDEX関数:指定されたパターンの最初の出現の開始位置を返します。
  2. REPEAT関数:文字列を指定された回数接続します。
  3. REPLACE関数:各位置に表示される別の部分文字列を部分文字列に置き換えます。
  4. REPLICATE関数:文字列を指定された回数接続します。
  5. REVERSE関数:BINARY型またはSTRING型への入力として引数を取り、逆の順序でリストされた指定された文字列を返します。 (反転文字列)
  6. RIGHT関数:文字列の右端の文字を返します。
  7. RTRIM関数:末尾の空白の削除された文字列を返します。
  8. SPACE関数:指定された数のスペースを返します。
  9. STR関数:同等の数値の文字列を返します。
  10. STR_REPLACE関数:タイプBINARYまたはSTRINGの入力として3つの引数を取り、最初の文字列式()に表示される2番目の文字列式()のすべてのインスタンスを3つの式()に置き換えます。
  11. STRING関数:1つ以上の文字列を1つの大きな文字列に連結します。
  12. STRTOUUID関数:文字列値を一意の識別子(UUIDまたはGUID)値に変換します。詳細な説明。
  13. STUFF関数:文字列からいくつかの文字を削除し、それらを別の文字列に置き換えます。
  14. SUBSTRING関数:文字列の部分文字列を返します。
  15. SUBSTRING64関数:SUBSTRING64関数は、大きなオブジェクト列または可変引数の可変長文字列を返します。詳細な説明。
  16. UCASE関数:文字列内のすべての文字を大文字に変換します。
  17. UPPER関数:文字列内のすべての文字を大文字に変換します。
  18. UUIDTOSTR関数:一意の識別子値(UUID、GUIDとも呼ばれます)を文字列値に変換します。詳細な説明。

1.PATINDEX関数

指定されたパターンの最初の出現の開始位置を返します。

文法:
PATINDEX ( '%%', <string-expression> )
分析:
パラメータ 説明
パターン 検索するモード。ワイルドカードを使用するパターンの場合、この文字列のサイズは126バイトを超えてはなりません。先頭のパーセント記号ワイルドカードを省略した場合、パターンが文字列の先頭に表示されたときにPATINDEXは1を返し、それ以外の場合はゼロを返します。パーセントワイルドカードから始める場合は、2つの主要なパーセントワイルドカードを1つとして扱います。ワイルドカード(パーセント%またはアンダースコア_)のないパターンの長さは最大255バイトです。
文字列式 パターンを検索する文字列。
  • PATINDEXは、パターンの最初の出現の開始位置を返します。検索された文字列に文字列パターンの複数のインスタンスが含まれている場合、PATINDEXは最初のインスタンスの場所のみを返します。
  • このパターンは、LIKE比較と同じワイルドカードを使用します。次の表に、パターンのワイルドカードを示します。
ワイルドカード 一致
_(下線) 任意の1文字
%(パーセント) 0個以上の文字を含む任意の文字列
[] 範囲またはコレクション内の任意の1文字を指定します
[^] 指定された範囲またはコレクションにない単一の文字
  • モードが見つからない場合、PATINDEXはゼロ(0)を返します。
  • 126バイトより長いパターンを検索すると、NULLが返されます。
  • 長さがゼロの文字列を検索すると、1が返されます。
  • いずれかの引数がNULLの場合、結果はゼロ(0)になります。
  • PATINDEX関数で返される、または指定されるすべての位置またはオフセットは常に文字オフセットであり、マルチバイトデータのバイトオフセットとは異なる場合があります。
  • PATINDEXは、CHAR列とVARCHAR列の符号なし32ビット整数位置を返します。
  • 非構造化データ分析にアクセスできる場合は、この関数をラージオブジェクトデータに使用できます。
例:
-- The following statement returns the value 2: SELECT PATINDEX( '%hoco%', 'chocolate' ) FROM iq_dummy -- The following statement returns the value 11: SELECT PATINDEX ('%4_5_', '0a1A 2a3A 4a5A') FROM iq_dummy

2.REPEAT機能

文字列を指定された回数接続します。



文法:
REPEAT ( <string-expression>, <integer-expression> )
分析:
パラメータ 説明
文字列式 繰り返される文字列。
整数式 文字列の繰り返し回数。負の場合、空の文字列が返されます。
例:
-- The following statement returns the value 'repeatrepeatrepeat': SELECT REPEAT( 'repeat', 3 ) FROM iq_dummy

3.REPLACE機能

各位置に表示される1つの部分文字列を部分文字列に置き換えます。

文法:
REPLACE ( <original-string>, <search-string>, <replace-string >)
分析:
パラメータ 説明
元の文字列 検索対象の文字列。この文字列は任意の長さにすることができます。
検索文字列 検索されて置き換えられる文字列。この文字列の長さは255バイトを超えてはなりません。空の文字列の場合、元の文字列がそのまま返されます。
置換文字列 を置き換えるための代替文字列。任意の長さにすることができます。空の文字列の場合は、表示されているものをすべて削除します。
  • パラメータがNULLの場合、この関数はNULLを返します。
例:
-- The following statement returns the value 'xx.def.xx.ghi': SELECT REPLACE( 'abc.def.abc.ghi', 'abc', 'xx' ) FROM iq_dummy

4.REPLICATE関数

文字列を指定された回数接続します。



文法:
REPLICATE ( <string-expression>, <integer-expression> )
分析:
パラメータ 説明
文字列式 繰り返される文字列。
整数式 文字列の繰り返し回数。
  • REPLICATEは、REPEAT関数と同じです。
例:
-- The following statement returns the value 'repeatrepeatrepeat': SELECT REPLICATE( 'repeat', 3 ) FROM iq_dummy

5.逆関数

タイプBINARYまたはSTRINGへの入力として引数を取り、逆の順序でリストされた指定された文字列を返します。 (反転文字列)

文法:
REVERSE (< expression> | <uchar_expr> )
分析:
パラメータ 説明
CHAR、VARCHAR、NCHAR、NVARCHAR、BINARY、またはVARBINARY型の文字またはバイナリ型の列名、変数、または定数式。
  • REVERSEは、逆の形式の式を返す文字列関数です。
  • 式がNULLの場合、reverseはNULLを返します。
  • エージェントペアは壊れないと見なされるため、元に戻すことはできません。
例:
-- Return to dcba select reverse('abcd') -- Back 0x00503412 select reverse(0x12345000)

6.右機能

文字列の右端の文字を返します。

文法:
RIGHT ( <string-expression>, <numeric-expression> )
分析:
パラメータ 説明
文字列式 左から切り捨てられる文字列。
数式 返される文字列の最後の文字数。
  • 文字列にマルチバイト文字が含まれていて、適切な照合順序が使用されている場合、返されるバイト数は指定された文字数よりも多くなる可能性があります。
例:
The following statement returns the value 'olate'SELECT RIGHT( 'chocolate', 5 ) FROM iq_dummy

7.RTRIM機能

末尾の空白の削除された文字列を返します。



文法:
RTRIM ( <string-expression> )
分析:
パラメータ 説明
文字列式 トリミングする文字列。
例:
The following statement returns a string 'Test Message', all of the trailing spaces have been removed. SELECT RTRIM('Test Message ') FROM iq_dummy

8.スペース機能

指定された数のスペースを返します。

文法:
SPACE ( <integer-expression> )
分析:
パラメータ 説明
整数式 返すスペースの数。
例:
-- The following statement returns a string containing 10 spaces: SELECT SPACE( 10 ) FROM iq_dummy

9.STR関数

同等の数値の文字列を返します。

文法:
STR ( <numeric-expression >[ , <length >[ , <decimal> ] ] )
分析:
パラメータ 説明
数式 値を近似する式(FLOAT、REAL、またはDOUBLEの精度)
長さ 返される文字数(小数点、小数点の左右のすべての桁、記号(存在する場合)、およびブランクを含む)。デフォルトは10で、最大長は255です。
10進数 返される小数点の右側の桁数。デフォルトは0です。
例:
-- If the integer part of the number does not match the specified length, the result is NULL. For example, the following statement will return NULL: SELECT STR( 1234.56, 3 ) FROM iq_dummy -- The string returned by the following statement has a total of ten characters, preceded by six spaces, followed by 1234: SELECT STR( 1234.56 ) FROM iq_dummy -- The following statement returns the result 1234.5: SELECT STR( 1234.56, 6, 1 ) FROM iq_dummy

10.STR_REPLACE関数

BINARY型またはSTRING型への入力として3つの引数を取り、最初の文字列式()に表示される2番目の文字列式()のすべてのインスタンスを3番目の式()に置き換えます。

文法:
REPLACE ( <string_expr1>, <string_expr2>, <string_expr3> )
分析:
パラメータ 説明
string_expr1 検索するソース文字列または文字列式。CHAR、VARCHAR、UNICHAR、UNIVARCHAR、VARBINARY、またはBINARYデータ型として表されます。
string_expr2 CHAR、VARCHAR、UNICHAR、UNIVARCHAR、VARBINARY、またはBINARYデータ型として表される、最初の式()で検索されるパターン文字列または文字列式。
string_expr3 CHAR、VARCHAR、UNICHAR、UNIVARCHAR、VARBINARY、またはBINARYデータ型として表される文字列式を置き換えます。
  • STR_REPLACEは、REPLACE関数のエイリアスです。
  • 任意のデータ型を入力として受け取り、STRINGまたはBINARYを返します。たとえば、パラメータとして渡された空の文字列( '')は、さらに評価される前にスペース( '')に置き換えられます。これは、BINARYタイプとSTRINGタイプの両方に適用されます。
  • すべてのパラメーターは、BINARYおよびSTRINGデータ型と組み合わせることができます。
  • 式のコンパイル時にパラメータ値が不明であるためにSAPIQが結果の長さを計算できない場合、使用される結果の長さは255です。
  • RESULT_LENが32767を超えることはありません。
例:
-- Replace the string in the string with . Cyyyghi select replace('cdefghi', 'def', 'yyy') -- Replace all spaces with 'toyota' chevy,toyotaford,tootatamcedes select str_replace ('chevy, ford, mercedes', '','toyota') -- Accepts NULL in the third argument and treats it as an attempt to replace with NULL, effectively adjusting STR_REPLACE to a 'string cut' operation. Return to 'abcghijklm': select str_replace('abcdefghijklm', 'def', NULL)

11.STRING関数

1つ以上の文字列を1つの大きな文字列に連結します。

文法:
STRING ( <string-expression> [ ,] )
分析:
パラメータ 説明
文字列式 文字列。引数が1つだけ指定されている場合は、単一の式に変換されます。複数のパラメーターが指定されている場合、それらは1つの文字列に連結されます。 NULLは空の文字列( ’’)として扱われます。
  • 数値または日付パラメータは、接続前に文字列に変換されます。 STRING関数を使用して、その式を唯一の引数として指定することにより、任意の単一の式を文字列に変換することもできます。
  • すべてのパラメータがNULLの場合、STRINGはNULLを返します
例:
-- The following statement returns the value testing123: SELECT STRING( 'testing', NULL, 123 ) FROM iq_dummy

12.少し

13.STUFF機能

文字列からいくつかの文字を削除し、それらを別の文字列に置き換えます。

文法:
STUFF ( <string-expression1>, <start>, <length>, <string-expression2 >)
分析:
パラメータ 説明
文字列式1 STUFF関数で変更する文字列
開始 文字の文字位置の削除を開始します。文字列の最初の文字の位置は1です。
長さ 削除する文字数。
文字列式2 挿入する文字列。 STUFF関数を使用して文字列の一部を削除するには、置換文字列としてNULLを使用します
  • STUFFを使用して文字列の一部を削除するには、置換文字列としてNULLを使用します。 STUFFを使用して文字列を挿入するには、長さをゼロに設定します。
  • STUFF関数は、次の場合にNULLの結果を返します。
    • 最初の3つのパラメーターはいずれもNULL値です。
    • startまたはlengthパラメーターが負です。
    • startパラメーターがstring-expression1の長さを超えています。
例:
-- The following statement returns the value 'chocolate pie': SELECT STUFF( 'chocolate cake', 11, 4, 'pie' ) FROM iq_dummy

14.SUBSTRING関数

文字列の部分文字列を返します。

文法:
SUBSTR ( <string-expression>, <start> [ , <length >] )
分析:
パラメータ 説明
文字列式 部分文字列を返す元の文字列。
開始 返される部分文字列の開始位置(文字単位)。負の開始位置は、文字列の先頭ではなく末尾から始まる文字数を指定します。文字列の最初の文字の位置は1です。
長さ 返される部分文字列の長さ(文字数)。正の場合は、部分文字列が開始位置の右側の最初の文字で終了することを示し、負の場合は、部分文字列が開始位置の左側の最初の文字で終了することを示します。
  • 指定する場合、部分文字列はこの長さを超えてはなりません。長さが指定されていない場合、文字列の残りの部分はその位置から返されます。
  • どちらも負の数にすることができます。部分文字列は、負の数と正の数の適切な組み合わせを使用して、文字列の最初または最後から取得できます。
  • 非構造化データ分析にアクセスできる場合は、この関数をラージオブジェクトデータに使用できます。
  • ansi_substringデータベースオプションがON(デフォルト)に設定されている場合、負の値は無効です。
例:
-- The following statement returns back: SELECT SUBSTRING ( 'back yard', 1 , 4 ) FROM iq_dummy -- The following statement returns yard: SELECT SUBSTR ( 'back yard', -1 , -4 ) FROM iq_dummy -- The following statement returns 0x2233: SELECT SUBSTR ( 0x112233445566, 2, 2 ) FROM iq_dummy

15.少し

16.UCASE機能

文字列内のすべての文字を大文字に変換します。

文法:
UCASE ( <string-expression> )
分析:
パラメータ 説明
文字列式 大文字に変換される文字列。
例:
-- The following statement returns the value 'CHOCOLATE': SELECT UCASE( 'ChocoLate' ) FROM iq_dummy

17.アッパー機能

文字列内のすべての文字を大文字に変換します。

文法:
UPPER ( <string-expression> )
分析:
パラメータ 説明
文字列式 大文字に変換される文字列。
例:
-- The following statement returns the value 'CHOCOLATE': SELECT UPPER( 'ChocoLate' ) FROM iq_dummy