将包含字符和 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' ); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |