Stosowanie znaków cudzysłowu w skrypcie

Istnieją różne sposoby korzystania z cudzysłowów w instrukcjach skryptów.

Wewnątrz instrukcji LOAD

W instrukcji LOAD należy używać następujących symboli jako cudzysłowów:

  Opis Symbol Pozycja kodu Przykład

Nazwy pól

podwójne cudzysłowy

" " 34 "ciąg znaków"
  nawiasy kwadratowe [ ] 91, 93 [ciąg znaków]
  akcenty ` ` 96 `ciąg znaków`

Literały ciągu

pojedyncze cudzysłowy

' '

39 'ciąg znaków'

W instrukcjach SELECT

W przypadku instrukcji SELECT interpretowanej przez sterownik ODBC może to wyglądać nieco inaczej. Zazwyczaj należy używać podwójnych cudzysłowów prostych (Alt + 0034) w przypadku nazw pól i tabel oraz pojedynczych cudzysłowów (Alt + 0039) w przypadku literałów, a unikać używania akcentów. Niektóre sterowniki ODBC akceptują jednak używanie akcentów jako cudzysłowów, a nawet preferują taki zapis. W takich przypadkach wygenerowane instrukcje SELECT mogą zawierać akcenty jako cudzysłowy.

Przykład cudzysłowów w programie Microsoft Access

Sterownik Microsoft Access ODBC Driver 3.4 (zawarty w aplikacjiMicrosoft Access 7.0) podczas analizowania instrukcji SELECT akceptuje następujące cudzysłowy:

Nazwy pól i tabel:

[ ]

" " ` `

Literały ciągu:

' '

W innych bazach danych mogą być stosowane inne konwencje.

Poza instrukcjami LOAD

Poza instrukcją LOAD we wszystkich miejscach, gdzie aplikacja QlikView oczekuje wyrażenia, podwójne cudzysłowy oznaczają odniesienie do zmiennej, a nie do pola. Każdy ciąg znaków ujęty w podwójne cudzysłowy jest interpretowany jako zmienna i używana jest wartość tak odczytanej zmiennej.

Pozakontekstowe odniesienia do pól i tabel

Niektóre funkcje skryptu w aplikacji odnoszą się do pól, które zostały utworzone wcześniej lub znajdują się w danych wyjściowych instrukcji LOAD, na przykład Exists() i Peek(). Takie odniesienia do pól noszą nazwę odniesień pozakontekstowych, w odróżnieniu od odniesień do pól źródłowych znajdujących się w kontekście, czyli w tabeli wejściowej instrukcji LOAD.

Pozakontekstowe odniesienia do pól i tabel należy traktować jako literały, a tym samym zapisywać je w pojedynczych cudzysłowach.

Różnica między nazwami a literałami

W zrozumieniu różnicy między nazwami a literałami pomoże porównanie następujących przykładów:

Przykład:  

'Sweden' as Country

Użycie takiego wyrażenia na liście pól instrukcji LOAD lub SELECT spowoduje załadowanie ciągu znaków „Sweden” jako wartości pola QlikView o nazwie „Country”.

Przykład:  

"land" as Country

Użycie takiego wyrażenia na liście pól instrukcji LOAD lub SELECT spowoduje załadowanie zawartości pola bazy danych lub kolumny tabeli o nazwie „land” jako wartości pola QlikView o nazwie „Country”. Oznacza to, że ciąg znaków land będzie traktowany jako odniesienie do pola.

Różnica między liczbami a literałami ciągu

W zrozumieniu różnicy między liczbami a literałami ciągu pomoże porównanie następujących przykładów.

Przykład:  

'12/31/96'

Taki ciąg znaków użyty w wyrażeniu zostanie w pierwszej kolejności zinterpretowany jako ciąg znaków „12/31/96”, a następnie jako data, o ile używany jest format daty „MM/DD/YY”. W takim przypadku wynik zostanie zapisany jako wartość podwójna mająca zarówno reprezentację liczbową, jak i tekstową.

Przykład:  

12/31/96

Taki ciąg znaków użyty w wyrażeniu zostanie zinterpretowany liczbowo, czyli jako 12 podzielone przez 31 podzielone przez 96.

Stosowanie pojedynczych cudzysłowów w ciągu znaków

Jeśli w ciągu znaków konieczne jest uwzględnienie znaków pojedynczych cudzysłowów, można użyć dodatkowego pojedynczego cudzysłowu jako znaku kontrolnego.

Przykład:  

Ciąg '10 O''clock News' zostanie zinterpretowany jako 10 O'clock News.