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 语言元素 » 常量

 

字符串文字

字符串文字是以单引号围起的字符序列。例如,'Hello world' 是 CHAR 型字符串文字。其字节长度和字符长度均为 11。

字符串文字有时也称为字符串常量、文字字符串或简称为字符串。在 SQL Anywhere 中,更常用字符串文字这一术语。

通过将 N 作为所引值前缀的这种方式可以指定 NCHAR 字符串文字。例如,N'Hello world' 是 NCHAR 型字符串文字。其字节长度和字符长度均为 11。NCHAR 字符串文字中的字节通过 CHAR 数据库的字符集解释,然后转换为 NCHAR。语法 N'string'CAST( 'string' AS NCHAR ) 的缩写形式。

转义序列

有时,您需要在字符串文字中放入一些无法正常键入或输入的字符,例如控制字符(如换行符)、单引号(其它情况下它用于标记字符串文字结束)和十六进制字节值。为此,应使用转义序列。

以下示例说明如何在字符串文字中使用转义序列。

  • 单引号用于标记字符串的开始和结束,因此字符串中的单引号必须再使用一个单引号进行转义,如: 'John''s database'

  • 十六进制转义序列可用于任何字符或二进制值。十六进制转义序列由反斜线后跟一个 x 再跟两位十六进制数构成。对于 CHAR 和 NCHAR 字符串文字,在 CHAR 字符集中将十六进制值解释为字符。以下示例(在代码页 1252 中)表示数字 1、2 和 3,后跟欧元符号: '123\x80'

  • 要表示换行符,请使用一个反斜线后跟一个 n,如: 'First line:\nSecond line:'

  • 反斜线用于标记转义序列的开始,因此字符串中的反斜线字符必须再使用一个反斜线进行转义,如: 'c:\\temp'

对于 NCHAR 字符串文字,可以使用与 CHAR 字符串文字相同的字符和转义序列。

如果需要使用无法直接键入字符串文字中的 Unicode 字符,请使用 UNISTR 函数。请参见UNISTR 函数 [String]