Использование кавычек в скрипте
Последнее обновление: 07.10.2026
Существует несколько различных способов использования кавычек в операторах скриптов.
Внутри операторов LOAD
В операторе LOAD в качестве кавычек для имен полей и таблиц следует использовать следующие знаки:
| Описание символа | Символ | Кодовая точка | Пример |
|---|---|---|---|
|
двойные кавычки |
" " | 34 | "string" |
| квадратные скобки | [ ] | 91, 93 | [string] |
| апострофы | ` ` | 96 | `string` |
А в качестве кавычек для строковых литералов следует использовать следующие знаки:
| Описание символа | Символ | Кодовая точка | Пример |
|---|---|---|---|
| одиночные кавычки |
' ' |
39 | 'string' |
В операторах SELECT
Для оператора SELECT, интерпретируемого драйвером ODBC, могут использоваться несколько иные кавычки. Обычно для названий полей и таблиц следует использовать прямые двойные кавычки (Alt + 0034), а для литералов — прямые одиночные кавычки (Alt + 0039) и не следует использовать апострофы. Однако в некоторых драйверах ODBC использование апострофов не только допускается, но и считается предпочтительным. В таком случае созданные операторы SELECT содержат апострофы в качестве символов кавычек.
Пример кавычек в Microsoft Access
Microsoft Access ODBC Driver 3.4 (входящий в Microsoft Access 7.0) во время анализа оператора 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 будет использовать именно эту кавычку, чтобы определить, где начинается и заканчивается строка.
Заключить строку целиком можно в любые из следующих кавычек:
- Двойные кавычки " "
- Квадратные скобки [ ]
- Апострофы ` `
- Одиночные кавычки ' '
[Table '1 "2"]
Строка заключается в квадратные скобки. Строка загружается как: Таблица '1 "2"
'string `Name1` "Name2'
Строка заключается в одиночные кавычки. Строка загружается в следующем виде: строка `Имя1` "Имя2
Использование escape-символов
Escape-символ — это дополнительное вхождение кавычек, в которые заключена строка. Такие символы следует добавлять при каждом вхождении кавычек в строке. Если в строке используются кавычки всех видов, необходимо расположить escape-символы рядом с теми кавычками, в которые заключена строка. Также escape-символы позволяют повторно использовать кавычки, которые уже содержатся в строке.
В качестве escape-символов можно использовать только следующие кавычки:
- Двойные кавычки " "
- Квадратные скобки [ ]
- Одиночные кавычки ' '
"Michael said ""It's a beautiful day""."
Если строка заключена в двойные кавычки " ", следует расположить дополнительные двойные кавычки рядом со всеми двойными кавычками, содержащимися в строке.
Строка загружается в следующем виде: Миша сказал: "Какой чудесный день". Благодаря использованию символа экранирования "" QlikView редактор скриптов понимает, какие двойные кавычки являются частью строки, а какая кавычка указывает на конец строки. Одиночная кавычка ' в сокращении It's не требует escape-символа, так как она не используется для заключения строки в кавычки.
'Michael said: "It''s a beautiful day".'
Если строка заключена в одиночные кавычки, следует расположить дополнительную одиночную кавычку рядом с каждой одиночной кавычкой, содержащейся в строке.
Строка загружается в следующем виде: Миша сказал: "Какой чудесный день". Двойные кавычки ", в которые заключены слова Миши, не должны сопровождаться escape-символами, так как они не используются для заключения строки в кавычки.
[Michael said [It's a "beautiful day]].]
Квадратные скобки [ ] ведут себя иначе, чем кавычки двух других видов. Если необходимо использовать квадратные скобки в качестве escape-символов, следует расположить дополнительную квадратную скобку лишь рядом с правой скобкой ], а не с левой скобкой [.
Строка загружается в следующем виде: Миша сказал [Какой "чудесный день]. Только правая квадратная скобка ] сопровождается escape-символом. Одиночная кавычка ' и двойные кавычки, содержащиеся в строке, не должны сопровождаться escape-символами, так как они не используются для заключения строки в кавычки.