在指令碼中使用引號

可在指令碼陳述式中以多種不同方式使用引號。

LOAD 陳述式內

LOAD 陳述式中,應使用下列標記做為引號:

  描述 符號 代碼點 範例

欄位名稱

雙引號

" " 34 "字串"
  方括弧 [ ] 91, 93 [字串]
  重音符號 ` ` 96 `字串`

字串常值

單引號

' '

39 '字串'

SELECT 陳述式內

若是 ODBC 驅動程式解譯的 SELECT 陳述式,可能略有不同。通常在欄位與表格名稱中應使用直雙引號 (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 陳述式的輸入表格內。

應該將內容外欄位參考與表格參考視為常值,因此需要使用單引號。

名稱與常值間的差異

比較下列範例即可更清楚地瞭解名稱與常值間的差異:

Example:  

'Sweden' as Country

當在 LOADSELECT 陳述式中使用此運算式做為欄位清單的部分時,文字字串 "Sweden" 將會當成欄位值載入至 QlikView 欄位 "Country"。

Example:  

"land" as Country

當在 LOADSELECT 陳述式中使用此運算式做為欄位清單的部分時,資料庫欄位的內容或名為 "land" 的表格資料行將會當成欄位值載入至 QlikView 欄位 "Country"。這表示 land 將會視為欄位參考。

數字與字串常值間的差異

比較下列範例即可更清楚地瞭解數字與字串常值間的差異。

Example:  

'12/31/96'

使用此字串做為運算式的部分時,其在第一個步驟將會被解譯為文字字串 "12/31/96",然後再被解譯為日期 (如果日期格式是 ‘MM/DD/YY’)。在此情況下,其會儲存為雙值,同時具有數值與文字表示法。

Example:  

12/31/96

使用此字串做為運算式部分時,其會以數值解譯為 12 除以 31 除以 96

在字串中使用引號

若字串包含可作為引號使用的字元,則在引用字串時,清楚指示字串的開始位置和結束位置十分重要。若未適當引用字串,指令碼將會失敗,或將以不正確的方式載入資料。

有兩種方式可引用包含引號的字串。

使用特定引號以引用字串

選擇未用於字串內部的引號,用來引用整個字串。QlikView 將會使用該特定引號來判定字串的開始和結束位置。

下列任何引號都能用來引用整個字串:

  • 雙引號 " "
  • 方括弧 [ ]
  • 重音符號 ` `
  • 單引號 ' '

Example:  

[表格 '1 "2"]

方括弧用來引用字串。字串載入為:表格 '1 "2"

'string `Name1` "Name2'

單引號用來引用字串。字串載入為:字串 `Name1` "Name2

使用逸出字元

逸出字元是引號的其他執行個體,可用來引用字串。這必須新增於字串內引號的每個執行個體旁。若所有引號皆用於字串內部,您需要在用來引用字串的相同類型引號旁,新增逸出字元。若您想要使用字串中已經使用的引號,也能使用逸出字元。

僅下列記號可作為逸出字元使用:

  • 雙引號 " "
  • 方括弧 [ ]
  • 單引號 ' '

Example:  

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

若您使用雙引號 " " 引用字串,則您必須在字串內部使用的每個雙引號旁,額外新增雙引號。

此字串載入為 Michael said "It's a beautiful day". 透過使用逸出字元 "",可讓 QlikView 指令碼編輯器理解哪些雙引號是字串的一部分,而哪些引號指示字串結束。縮寫 It's 中使用的單引號不需要逸出,因為這不是用來引用字串的記號。

Example:  

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

若您使用單引號引用字串,則您必須在字串內部使用的每個單引號旁,額外新增單引號。

此字串載入為 Michael said "It's a beautiful day". 用於引述 Michael 說話內容的雙引號 " 不需要逸出,因為這不是用來引用字串的記號。

Example:  

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

方括弧 [ ] 的作用與其他兩種引號不同。若您想要使用括弧作為逸出字元,必須在右側方括弧 ] 旁,額外新增括弧,而非新增於左側方括弧 [ 旁。

此字串載入為 Michael said "It's a beautiful day". 只有右側方括弧 ] 會逸出。用於字串中的單引號 ' 和雙引號 " 不需要逸出,因為這不是用來引用字串。