Verwenden von Anführungszeichen im Skript

Sie können Anführungszeichen in Skriptbefehlen auf verschiedene Weisen verwenden.

In LOAD-Befehlen

In einem LOAD-Befehl müssen die folgenden Zeichen als Anführungszeichen verwendet werden:

  Beschreibung Symbol Codepoint Beispiel

Feldnamen

Doppelte Anführungszeichen

" " 34 "String"
  Eckige Klammern [ ] 91, 93 [String]
  Graviszeichen ` ` 96 `String`

String-Literale

Einfache Anführungszeichen

' '

39 'String'

In SELECT-Befehlen

Bei SELECT-Befehlen, die vom ODBC-Treiber interpretiert werden, kann dies möglicherweise etwas anders sein. Normalerweise sollten Sie für Feld- und Tabellennamen gerade, doppelte Anführungszeichen (Alt + 0034) verwenden und für Literale gerade, einfache Anführungszeichen (Alt + 0039), aber niemals die Graviszeichen. Einige ODBC-Treiber akzeptieren jedoch Graviszeichen nicht nur, sondern bevorzugen diese sogar. In solchen Fällen enthält der generierte SELECT-Befehl Graviszeichen.

Microsoft Access – Beispiel für Anführungszeichen

Microsoft Access ODBC Driver 3.4 (in Microsoft Access 7.0 enthalten) akzeptiert folgende Anführungszeichen beim Analysieren des SELECT-Befehls:

Feldnamen und Tabellennamen:

[ ]

" " ` `

String-Literale:

' '

Andere Datenbanken haben möglicherweise andere Konventionen.

Außerhalb von LOAD-Befehlen

Außerhalb von LOAD-Befehlen – an Stellen, an denen QlikView eine Formel erwartet – kennzeichnen doppelte Anführungszeichen eine Variablenreferenz, keine Feldreferenz. Wenn Sie doppelte Anführungszeichen verwenden, wird der eingeschlossene String als Variable interpretiert und der Wert der Variablen wird verwendet.

Feldreferenzen und Tabellenreferenzen ohne Kontext

Einige Skriptfunktionen beziehen sich auf Felder, die bereits erstellt wurden, oder in der Ausgabe eines LOAD-Befehls enthalten sind, z. B. Exists() und Peek(). Diese Feldreferenzen werden als Feldreferenzen ohne Kontext bezeichnet, im Gegensatz zu Quellenfeldreferenzen, die sich auf Felder im Kontext, d. h. in der Inputtabelle des LOAD-Befehls, beziehen.

Feld- und Tabellenreferenzen ohne Kontext sollten als Literale angesehen werden und erfordern deshalb einfache Anführungszeichen.

Unterschied zwischen Namen und Literalen

Die folgenden Beispiele sollen den Unterschied zwischen Namen und Literalen verdeutlichen:

Example:  

'Sweden' as Country

Wenn diese Formel als Teil der Feldliste in einem LOAD- oder SELECT-Befehl verwendet wird, wird der Textstring "Sweden" als Feldwert in das QlikView-Feld "Country" geladen.

Example:  

"land" as Country

Wird diese Formel als Teil der Feldliste in einem LOAD- oder SELECT-Befehl verwendet, wird der Inhalt des Datenbankfelds oder der Tabellenspalte namens "land" als Feldwerte in das QlikView-Feld "Country" geladen. Das heißt, dass land als Feldreferenz angesehen wird.

Unterschied zwischen Zahlen und String-Literalen

Die folgenden Beispiele sollen den Unterschied zwischen Zahlen und String-Literalen verdeutlichen.

Example:  

'12/31/96'

Wenn dieser String als Teil einer Formel verwendet wird, wird er in einem ersten Schritt als Textstring "12/31/96" interpretiert, was wiederum als Datum interpretiert werden kann, wenn das Datumsformat ‘MM/DD/YY’ lautet. In diesem Fall wird er als dualer Wert sowohl mit numerischer als auch mit Textdarstellung gespeichert.

Example:  

12/31/96

Wenn dieser String als Teil einer Formel verwendet wird, wird er numerisch interpretiert als 12 geteilt durch 31 geteilt durch 96.

Verwenden von Anführungszeichen in einem String

Enthält ein String Zeichen, die als Anführungszeichen verwendet werden können, müssen beim Anführen des Strings Anfang und Ende des Strings unbedingt eindeutig angegeben werden. Wird der String nicht korrekt angeführt, wird das Skript mit Fehlern ausgeführt oder Daten werden nicht richtig geladen.

Strings, die Anführungszeichen enthalten, können auf zwei Arten angeführt werden.

Spezifisches Anführungszeichen zum Anführen des Strings verwenden

Wählen Sie ein Anführungszeichen, das nicht im String verwendet wird, und führen Sie den String damit an. QlikView verwendet ein solch spezifisches Anführungszeichen, um festzulegen, wo der String beginnt und endet.

Der String in seiner Gesamtheit kann mit einem der folgenden Anführungszeichen angeführt werden:

  • Doppelte Anführungszeichen " "
  • Eckige Klammern [ ]
  • Graviszeichen ` `
  • Einfache Anführungszeichen ' '

Example:  

[Table '1 "2"]

Eckige Klammern werden zum Zitieren des Strings verwendet. Der String wird wie folgt geladen: Table '1 "2"

'string `Name1` "Name2'

Der String wird mit einfachen Anführungszeichen angeführt. Der String wird wie folgt geladen: string `Name1` "Name2

Escape-Zeichen verwenden

Escape-Zeichen sind eine weitere Instanz des Anführungszeichens, mit dem der String angeführt wird. Sie müssen neben jeder Instanz des Anführungszeichens hinzugefügt werden, die im String vorkommt. Wenn in einem String alle Anführungszeichen verwendet werden, müssen Sie Escape-Zeichen neben dem Anführungszeichentyp hinzufügen, mit dem der String angeführt wird. Escape-Zeichen können zudem verwendet werden, wenn ein Anführungszeichen verwendet werden soll, dass bereits im String verwendet wird.

Als Escape-Zeichen können ausschließlich folgende Zeichen verwendet werden:

  • Doppelte Anführungszeichen " "
  • Eckige Klammern [ ]
  • Einfache Anführungszeichen ' '

Example:  

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

Wenn Sie den String mit doppelten Anführungszeichen " " anführen, müssen Sie neben jedem doppelten Anführungszeichen, das innerhalb des Strings verwendet wird, ein weiteres doppeltes Anführungszeichen hinzufügen.

Dieser String wird wie folgt geladen: Michael said "It's a beautiful day". Mit dem Escape-Zeichen "" wird für den QlikView Skript-Editor angegeben, welche doppelten Anführungszeichen Teil des Strings sind und welche Anführungszeichen das Ende des Strings kennzeichnen. Für das einfache Anführungszeichen ' in It's wird kein Escape-Zeichen benötigt, da es nicht zum Anführen des Strings verwendet wird.

Example:  

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

Wenn Sie den String mit einfachen Anführungszeichen anführen, müssen Sie neben jedem einfachen Anführungszeichen, das innerhalb des Strings verwendet wird, ein weiteres einfaches Anführungszeichen hinzufügen.

Dieser String wird wie folgt geladen: Michael said "It's a beautiful day". Neben dem doppelten Anführungszeichen ", mit dem angeführt wird, was Michael sagte, muss kein Escape-Zeichen hinzugefügt werden, da es nicht zum Anführen des Strings verwendet wird.

Example:  

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

Eckige Klammern [ ] verhalten sich anders als die anderen beiden Anführungszeichen. Wenn Sie Klammern als Escape-Zeichen verwenden möchten, fügen Sie nur neben der rechten eckigen Klammer ] eine weitere Klammer hinzu, nicht jedoch neben der linken eckigen Klammer [.

Dieser String wird wie folgt geladen: Michael said [It's a "beautiful day]. Nur für die rechte eckige Klammer ] wird ein Escape-Zeichen verwendet. Für das im String verwendete einfache Anführungszeichen ' und doppelte Anführungszeichen " ist kein Escape-Zeichen erforderlich, da der String damit nicht angeführt wird.