# 在脚本中使用引号

可以通过多种不同方法在脚本语句中使用引号。

## 在 LOAD 语句内

在LOAD 语句中，下列标记应用作字段名和表名的引号：

LOAD 语句引号

| 符号描述 | 符号 | 代码点 | 示例 |
| --- | --- | --- | --- |
| 双引号 | " " | 34 | “字符串” |
| 方括号 | [ ] | 91, 93 | [字符串] |
| 重音符号 | ` ` | 96 | `字符串` |

以下标记应用作字符串文字的引号：

字符串文字引号

| 符号描述 | 符号 | 代码点 | 示例 |
| --- | --- | --- | --- |
| 单引号 | ' ' | 39 | ‘字符串’ |

## 在 SELECT 语句中

对于 SELECT 语句（由 ODBC 驱动程序解释），情况或许稍有不同。通常，对于字段名和表格名应使用直双引号 (Alt + 0034)，对于文字应使用直单引号 (Alt + 0039)，并避免使用重音符号。但是，一些 ODBC 驱动程序不仅将重音符号视为引号，而且首选重音符号。在这种情况下，生成的 SELECT 语句包含重音引号。

### Microsoft Access 引号示例

Microsoft Access ODBC Driver 3.4（包括在 Microsoft Access 7.0 中）在分析 SELECT 语句时接受以下引号：

SELECT 语句引号

| 符号描述 | 符号 |
| --- | --- |
| 字段名和表格名： | [ ] 或 " " 或 ` ` |
| 字符串文字： | ' ' |

其他数据库可能具有不同的约定。

## 在 LOAD 语句外

在 LOAD 语句外，QlikView 期望在表达式中使用双引号表示变量引用，而不是字段引用。如果使用双引号，则应将括起来的字符串解释为变量和将要使用的变量的值。

## 上下文外字段引用和表格引用

一些脚本函数引用已创建的字段，或者 LOAD 语句输出中的字段，如 Exists() 和 Peek()。这些字段引用被称为上下文外字段引用，与引用上下文中的字段的源字段引用相对（上下文中的字段即 LOAD 语句输入表中的字段）。

应将上下文外字段引用和表格引用看作是文字，因此需要使用单引号。

## 名称和文字之间的差异

比较以下示例，名称和文字之间的差异会变得更加清晰：

示例：

` 'Sweden' as Country
                 `

如果在 LOAD 或 SELECT 语句中将此表达式用作字段列表的一部分，则会将文本字符串“Sweden”作为字段值加载到 QlikView 字段“Country”。

示例：

` "land" 
as Country
                 `

如果在 LOAD 或 SELECT 语句中将此表达式用作字段列表的一部分，则会将数据库字段的内容和名为“land”的表格列作为字段值加载到 QlikView 字段“Country”。这意味着会将 land 视为字段引用。

## 数值和字符串文字之间的差异

比较以下示例，数值和字符串文字之间的差异会变得更加清晰：

示例：

` '12/31/96'
                 `

如果将此字符串用作表达式的一部分，则会在第一步中将其解释为文本字符串 “12/31/96”，这反过来也可以将其解释为日期，如果日期格式为 'MM/DD/YY'。在这种情况下，会将它存储作为同时包含数字和文字表示形式的对偶值。

示例：

` 12/31/96
                 `

如果将此字符串用作表达式的一部分，则会将它解释为 12 除以 31 除以 96 的数字。

## 在字符串中使用引号

如果字符串中包含可以用作引号的字符，在引用字符串时，务必明确指明字符串开始的位置和结束的位置。如果未正确引用字符串，脚本将失败或不能正确加载数据。

有两种方法可以引用包含引号的字符串。

### 使用特定的引号引用字符串

选择字符串中未使用的引号，并使用它来引用整个字符串。QlikView 将使用该特定的引号确定字符串开始与结束的位置。

以下任一引号均可用于引用整个字符串：

* 双引号 " "
* 方括号 [ ]
* 重音符号 ` `
* 单引号 ' '

示例：

`[表格 '1 "2"]`

使用方括号引用字符串。字符串加载为：表格 '1 "2"

``'string `Name1`"Name2'``

使用单引号引用字符串。字符串加载为：string `Name1` "Name2

### 使用转义字符

转义字符是用于引用字符串的引号的附加实例。必须在字符串内出现的每个引号实例旁边添加转义字符。当字符串中使用了所有引号时，您需要在用于引用字符串的相同类型的引号旁边添加转义字符。如果您要使用已在字符串中使用的引号，也可以使用转义字符。

只有以下符号可以用作转义字符：

* 双引号 " "
* 方括号 [ ]
* 单引号 ' '

示例：

`"Michael said ""It's a beautiful day""."`

如果您使用双引号 " " 引用字符串，则必须在字符串内使用的每个双引号旁边添加一个额外的双引号。

该字符串将加载为 Michael said "It's a beautiful day". 通过使用转义字符 `""`，QlikView 脚本编辑器可以获知哪个双引号属于字符串，哪个双引号表示字符串的结尾。在缩写词 It's 中使用的单引号 ' 不需要转义，因为它不是用于引用字符串的符号。

示例：

`'Michael said: "It''s a beautiful day".'`

如果您使用单引号引用此字符串，则必须在字符串内使用的每个单引号旁边添加一个额外的单引号。

该字符串将加载为 Michael said "It's a beautiful day". 用于引用 Michael 说话内容的双引号 " 不需要转义，因为它不是用于引用字符串的符号。

示例：

`[Michael said [It's a "beautiful day]].]`

方括号 [ ] 的作用与其他两种引号不同。如果您要将方括号用作转义字符，必须只在右方括号 ] 旁边添加一个额外的方括号，不要在左方括号 [ 旁边添加。

该字符串将加载为 Michael said [It's a "beautiful day]. 仅右方括号 ] 会被转义。字符串中使用的单引号 ' 和双引号 " 不需要转义，因为它们不是用于引用字符串。

## 了解详情

* [Load](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptRegularStatements/Select.htm)
* [脚本语句和关键字](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/script-statements-keywords.htm)