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 函数 [String]

将包含字符和 Unicode 转义序列的字符串转换为 NCHAR 字符串。

语法
UNISTR( string-expression )
参数
  • string-expression   要转换的字符串。

返回值

NVARCHAR

LONG NVARCHAR

注释

UNISTR 函数允许使用 Unicode 字符,这些字符无法以 SQL 语句使用的 CHAR 字符集进行表示。例如,在英语环境中,UNISTR 函数可用于加入中文字符。

UNISTR 函数提供了与 N'' 常量类似的功能,不过,UNISTR 函数允许使用 Unicode 字符以及 CHAR 字符集的字符,而 N'' 常量仅允许 CHAR 字符集的字符。

string-expression 包含字符和 Unicode 转义序列。Unicode 转义序列的形式为 \uXXXX 或 \uXXXXXX,其中 X 是十六进制数字。UNISTR 函数会将每个字符及每个 Unicode 转义序列转换为对应的 Unicode 字符。

如果使用了 6 位数 Unicode 转义序列,则其值不得超过 10FFFF,即最大的 Unicode 代码点。\u234567 这样的序列不是 6 位数 Unicode 转义序列。它是后跟字符 6 和 7 的 4 位数序列 \u2345。

如果两个相邻的 Unicode 转义序列形成一个 UTF-16 代理对,则会在输出中将它们合并成一个 Unicode 字符。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下示例返回字符串 Hello。

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

以下示例将 UTF-16 代理对 D800-DF02 合并到 Unicode 代码点 10302 中。

SELECT UNISTR( '\uD800\uDF02' );

该示例等同于前一个示例。

SELECT UNISTR( '\u010302' );