Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (P ~ Z)

 

UNISTR 関数 [文字列]

文字と Unicode エスケープ・シーケンスで構成される文字列を NCHAR 文字列に変換します。

構文
UNISTR( string-expression )
パラメータ
  • string-expression   変換される文字列。

戻り値

NVARCHAR

LONG NVARCHAR

備考

UNISTR 関数を使用すると、SQL 文で使用される CHAR 文字セットで表現できない Unicode 文字を使用できるようになります。たとえば、英語環境では UNISTR 関数を使用すると、漢字を使用できるようになります。

UNISTR 関数には N'' 定数と機能が似ています。ただし、UNISTR 関数は Unicode 文字と CHAR 文字セットの文字を使用できますが、N'' 定数は CHAR 文字セットの文字のみを使用できます。

string-expression には文字と Unicode のエスケープ・シーケンスが含まれます。Unicode のエスケープ・シーケンス形式は、\uXXXX または \uXXXXXX です (各 X は 16 進数)。UNISTR 関数は、個々の文字と Unicode のエスケープ・シーケンスを対応する Unicode 文字に変換します。

6 桁の Unicode のエスケープ・シーケンスを使用する場合、値は Unicode のコードポイントの最大値である 10FFFF を超えません。\u234567 などのシーケンスは 6 桁の Unicode エスケープ・シーケンスではありません。4 桁のシーケンス \u2345 の後に、文字 6 と 7 が続きます。

2 つの隣接する Unicode エスケープ・シーケンスが UTF-16 の代理ペアを構成する場合、出力時に 1 つの Unicode 文字に結合されます。

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の例は、文字列 Hello を返します。

SELECT UNISTR( 'Hel\u006c\u006F' );

次の例は、UTF-16 の代理ペア D800-DF02 を Unicode コードポイント 10302 に結合します。

SELECT UNISTR( '\uD800\uDF02' );

この例は前の例と同等です。

SELECT UNISTR( '\u010302' );