Перейти к основному содержимому Перейти к дополнительному содержимому

Использование кавычек в скрипте

Существует несколько различных способов использования кавычек в операторах скриптов.

Внутри операторов 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"

'строка `Имя1` "Имя2'

Строка заключается в одиночные кавычки. Строка загружается в следующем виде: строка `Имя1` "Имя2

Использование escape-символов

Escape-символ — это дополнительное вхождение кавычек, в которые заключена строка. Такие символы следует добавлять при каждом вхождении кавычек в строке. Если в строке используются кавычки всех видов, необходимо расположить escape-символы рядом с теми кавычками, в которые заключена строка. Также escape-символы позволяют повторно использовать кавычки, которые уже содержатся в строке.

В качестве escape-символов можно использовать только следующие кавычки:

  • Двойные кавычки " "
  • Квадратные скобки [ ]
  • Одиночные кавычки ' '

Пример:  

"Миша сказал ""Какой чудесный день""."

Если строка заключена в двойные кавычки " ", следует расположить дополнительные двойные кавычки рядом со всеми двойными кавычками, содержащимися в строке.

Строка загружается в следующем виде: Миша сказал: "Какой чудесный день". By using the escape character "", the QlikView script editor understands which double quotation marks are part of the string and which quotation mark indicates the end of the string. The single quotation mark ' used in the abbreviation It's does not need an escape because it is not the mark used to quote the string.

Пример:  

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

Если строка заключена в одиночные кавычки, следует расположить дополнительную одиночную кавычку рядом с каждой одиночной кавычкой, содержащейся в строке.

Строка загружается в следующем виде: Миша сказал: "Какой чудесный день". Двойные кавычки ", в которые заключены слова Миши, не должны сопровождаться escape-символами, так как они не используются для заключения строки в кавычки.

Пример:  

[Миша сказал [Какой "чудесный день]].]

Square brackets [ ] behave differently from the other two quotation marks. If you want to use brackets as an escape character, you must add an extra bracket beside the right square bracket ] only, and not beside the left square bracket [.

Строка загружается в следующем виде: Миша сказал [Какой "чудесный день]. Только правая квадратная скобка ] сопровождается escape-символом. Одиночная кавычка ' и двойные кавычки ", содержащиеся в строке, не должны сопровождаться escape-символами, так как они не используются для заключения строки в кавычки.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!

Присоединяйтесь к программе модернизации аналитики

Remove banner from view

Модернизируйте ваши важные приложения QlikView без ущерба с помощью программы модернизации аналитики. Щелкните здесь для получения дополнительной информации или свяжитесь с нами: ampquestions@qlik.com