REVERSE (SQL)
構文
REVERSE(string-expression)
説明
REVERSE は、string-expression の文字の順序を逆にして返します。例えば、'Hello World!' は、'!dlroW olleH' と返されます。これは、文字列の順序を逆にするだけで、その他の処理はしません。
返される文字列は、入力値のデータ型に関係なく、VARCHAR データ型となります。数値はキャノニック形式に変換され、数値文字列は順序を逆にする前にキャノニック形式に変換されることはありません。
先頭の空白や末尾の空白は順序を逆にすることによって影響されません。
NULL 値は逆にしても NULL です。
REVERSE は常に VARCHAR 文字列を返すので、一部のデータ型は順序を逆にすると無効になります。
-
順序を逆にしたリストは有効なリストではなくなり、ストレージ形式から表示形式に変換することはできません。
-
順序を逆にした日付は有効な日付ではなくなり、ストレージ形式から表示形式に変換することはできません。
引数
string-expression
順序を逆にする文字列式。式は、列の名前や文字列リテラル、数値、または他のスカラ関数の結果を指定できます。基本となるデータ型は、任意の文字タイプ (CHAR や VARCHAR など) とすることができます。
例
以下の例では、Name フィールド値の順序を逆にします。ここでは、この結果、名前がミドル・イニシャルで並べ替えられます。
SELECT Name,REVERSE(Name) AS RevName
FROM Sample.Person
ORDER BY RevName
Name および RevName は同じフィールドの異なる表現というだけなので、ORDER BY RevName と ORDER BY RevName,Name は同じ順序付けを実行します。
以下の例は、数値と数値文字列の順序を逆にします。
SELECT REVERSE(+007.10) AS RevNum,
REVERSE('+007.10') AS RevNumStr
以下の例は、$DOUBLE の数値の順序を逆にします。
SELECT
CAST(1.1 AS DOUBLE) AS DoubleNumber,
REVERSE(CAST(1.1 AS DOUBLE)) AS ReverseDouble
以下の例は、リストの順序を逆にしたときの動作を示しています。
SELECT FavoriteColors,REVERSE(FavoriteColors) AS RevColors
FROM Sample.Person
以下の例は、日付の順序を逆にしたときの動作を示しています。
SELECT DOB,%INTERNAL(DOB) AS IntDOB,REVERSE(DOB) AS RevDOB
FROM Sample.Person