RTRIM
RTRIM関数は、Expression1の右端から、Expression2に含まれるすべての文字を削除します。TimesTenでは、Expression1の最後の文字から逆方向にスキャンが開始され、Expression2に存在しない文字になるまでExpression2に指定した文字がすべて削除された後、結果が戻されます。
SQL構文
RTRIM (Expression1 [,Expression2)
パラメータ
RTRIMには、次のパラメータがあります。
パラメータ | 説明 |
Expression1 | 切り捨てる対象とするCHAR、VARCHAR2、NCHAR、NVARCHAR2オペランドまたは列。Expression1が文字リテラルの場合、引用符でその文字を囲みます。 |
Expression2 | Expression1の切捨てに使用するオプションの式。Expression2が文字リテラルの場合、一重引用符でその文字を囲みます。Expression2を指定しない場合、デフォルトで単一の空白文字に設定されます。オペランドまたは列には、CHAR、VARCHAR2、NCHARまたはNVARCHAR2型を指定できます。 |
説明
- Expression1がCHARまたはVARCHAR2型の場合、戻されるデータ型はVARCHAR2です。Expression1がNCHARまたはNVARCHAR2型の場合、戻されるデータ型はNVARCHAR2です。戻されるデータ型の長さは、Expression1のデータ型の長さに等しくなります。
- Expression1が文字長セマンティクスで定義されたデータ型の場合、戻される長さは文字長セマンティクスで表現されます。
- Expression1またはExpression2のいずれかがNULLの場合、結果はNULLです。
- Expression1とExpression2には、TT_CHAR、TT_VARCHAR、TT_NCHARおよびTT_NVARCHARを指定できます。Expression1がTT_CHARまたはTT_VARCHAR型の場合、戻されるデータ型はTT_VARCHARです。Expression1がTT_NCHARまたはTT_NVARCHAR型の場合、戻されるデータ型はTT_NVARCHARです。
- Expression1がCHARまたはVARCHAR2型で、Expression2がNCHARまたはNVARCHAR2型の場合、Expression2はRTRIMの実行前にCHARまたはVARCHAR2に変換されます。Expression2の変換は失われる可能性があります。Expression2の切捨て文字がデータベースのキャラクタ・セットに含まれない場合、問合せにより予期しない結果が発生する可能性があります。
- CHAR、VARCHAR2、NCHARおよびNVARCHAR2型の場合:
- Expression1のすべての文字がRTRIM関数により削除された場合、結果はNULLになります。例3.63を参照してください。
- TT_CHAR、TT_VARCHAR、TT_NCHARおよびTT_NVARCHAR型の場合:
- Expression1のすべての文字がRTRIM関数により削除された場合、結果は空の文字列になります。例3.63を参照してください。
例3.61
次の例では、表RtrimTestのCol1から後続の空白を削除します。
Command> CREATE TABLE RtrimTest (Col1 VARCHAR2 (25));
Command> INSERT INTO RtrimTest VALUES ('abc ');
1 row inserted.
Command> SELECT * FROM Rtrimtest;
< abc >
1 row found.
Command> SELECT RTRIM (Col1) FROM RtrimTest;
< abc >
1 row found.
例3.62
RTRIM関数をコールして、右端の'x'および'y'を文字列から削除します。RTRIMは、'xy'というパターンではなく、個々に出現する'x'と'y'を削除します。
Command> SELECT RTRIM ('RTRIM Examplexxxyyyxyxy', 'xy') FROM Dual;
< RTRIM Example >
1 row found.
例3.63
RTRIMをコールして、Expression1からすべての文字を削除します。最初の例では、データ型がCHARであるため、NULLが戻されます。2番目の例では、データ型がTT_CHARであるため、空の文字列が戻されます。
Command> CREATE TABLE RtrimTest (Col1 CHAR (4), Col2 TT_CHAR (4));
Command> INSERT INTO RtrimTest VALUES ('BBBA', 'BBBA');
1 row inserted.
Command> SELECT RTRIM (Col1, 'AB') FROM RtrimTest;
< <NULL> >
1 row found.
Command> SELECT RTRIM (Col2, 'AB') FROM RtrimTest;
< >
1 row found.