在指令碼中使用引號
可在指令碼陳述式中以多種不同方式使用引號。
在 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 陳述式外,Qlik Sense 預期運算式的位置,雙引號代表變數參考而不是欄位參考。若您使用雙引號,括住的字串將會解譯為變數,並將使用該變數值。
內容外欄位參考與表格參考
某些指令碼函數會參考已建立的欄位,或 LOAD 陳述式輸出內的欄位,例如 Exists() 與 Peek()。這些欄位參考稱為內容外欄位參考,與參考到內容內欄位的來源欄位參考相反,內容內是指在 LOAD 陳述式的輸入表格內。
應該將內容外欄位參考與表格參考視為常值,因此需要使用單引號。
名稱與常值間的差異
比較下列範例即可更清楚地瞭解名稱與常值間的差異:
範例:
'Sweden' as Country
當在 LOAD 或 SELECT 陳述式中使用此運算式做為欄位清單的部分時,文字字串 "Sweden" 將會當成欄位值載入至 Qlik Sense 欄位 "Country"。
範例:
"land" as Country
當在 LOAD 或 SELECT 陳述式中使用此運算式做為欄位清單的部分時,資料庫欄位的內容或名為 "land" 的表格資料行將會當成欄位值載入至 Qlik Sense 欄位 "Country"。這表示 land 將會視為欄位參考。
數字與字串常值間的差異
比較下列範例即可更清楚地瞭解數字與字串常值間的差異。
範例:
'12/31/96'
使用此字串做為運算式的部分時,其在第一個步驟將會被解譯為文字字串 "12/31/96",然後再被解譯為日期 (如果日期格式是 'MM/DD/YY')。在此情況下,其會儲存為雙值,同時具有數值與文字表示法。
範例:
12/31/96
使用此字串做為運算式部分時,其會以數值解譯為 12 除以 31 除以 96。
在字串中使用引號
若字串中包含可作為引號使用的字元,則在引用字串時清楚指示字串的開始和結束位置十分重要。若字串沒有正確引用,指令碼將無法運作,或將會以不正確的方式載入資料。
有兩種方式可引用包含引號的字串。
使用特定引號以引用字串
選擇字串中未使用的引號,並用來引用整個字串。Qlik Sense 將會使用特定引號,以決定字串的開始和結束位置。
下列任一引號可用來引用整個字串:
- 雙引號 " "
- 方括弧 [ ]
- 重音符號 ` `
- 單引號 ' '
範例:
[Table '1 "2"]
方括弧用來引用字串。字串載入為:表格 '1 "2"
'string `Name1` "Name2'
單引號用來引用字串。字串載入為:字串 `Name1` "Name2
使用逸出字元
逸出字元是用來引用字串之引號的附加執行個體。必須在字串中出現之引號的每個執行個體旁新增這些逸出字元。在字串內部使用所有引號時,您需要在用來引用字串的相同類型引號旁新增逸出字元。若您要使用已在字串中使用的引號,也能使用逸出字元。
只能使用下列符號作為逸出字元:
- 雙引號 " "
- 方括弧 [ ]
- 單引號 ' '
範例:
"Michael said ""It's a beautiful day""."
若您使用雙引號 " " 引用字串,則您必須在字串內部使用的每個雙引號旁另外新增雙引號。
此字串載入為 Michael said "It's a beautiful day". 透過使用逸出字元 Qlik Sense 資料載入編輯器,"" 資料載入編輯器能夠理解哪些雙引號是字串的一部分,以及哪個引號指示字串結尾。縮寫 It's 中使用的單引號 ' 不需要逸出,因為這不是用來引用字串的符號。
範例:
'Michael said: "It''s a beautiful day".'
若您使用單引號引用此字串,則您必須在字串內部使用的每個單引號旁另外新增單引號。
此字串載入為 Michael said "It's a beautiful day". 用於引用 Michael 說話內容的雙引號 " 不需要逸出,因為這不是用來引用字串的符號。
範例:
[Michael said [It's a "beautiful day]].]
方括弧 [ ] 的運作方式與其他兩種引號不同。若您要使用括弧作為逸出字元,您只能在右側方括弧 ] 旁邊另外新增括弧,而非在左側方括弧 [ 旁邊。
此字串載入為 Michael said [It's a "beautiful day]. 只有右方括弧 ] 逸出。字串中使用的單引號 ' 和雙引號 " 不需要逸出,因為這些引號不是用來引用字串。