適用於:
Databricks SQL
Databricks Runtime
此類型支援任何長度大於或等於 0 的字元序列。
語法
STRING
字面意義
[r|R]'c [ ... ]'
r或R適用於:
Databricks SQL
Databricks Runtime 10.4 LTS 和更新版本選擇性前綴,表示 原始字面值。
cUnicode 字元集中的任何字元。
下列跳脫序列會在一般字串常量中辨識(不含 r 前置詞),並根據下列規則加以取代:
-
\0->\u0000, 具有代碼 0 的 Unicode 字元; -
\b->\u0008, 退格空間; -
\n->\u000a,換行; -
\r->\u000d,歸位字元; -
\t->\u0009, 水平索引標籤; -
\Z->\u001A, 替代; -
\%->\%; -
\_->\_; -
\<other char>-><other char>,略過斜線,並將字元保留為 。
如果字串前面加上 r 沒有逸出字元。
STRING 型別的內建排序從其所使用的上下文中繼承而來:
- 函式所產生的字串會從函式的輸入自變數衍生定序。
- 在
CREATE或ALTER的TABLE、VIEW或FUNCTION中,預設排序規則符合該TABLE、VIEW或FUNCTION的預設排序規則。 - 在最上層 UPDATE 的內容中,DELETE、INSERT、MERGE 或 查詢語句, 預設定序為
UTF8_BINARY。
針對忽略尾端空格的定序,請使用 COLLATE UTF8_BINARY_RTRIM 子句。
如需詳細資訊,請參閱 定序優先順序規則。
注意
雖然您可以使用雙引號 (") 而不是單引號 (') 來分隔字串常值,但不建議這樣做,因為它不是標準 SQL。
警告
某些用戶端介面會在將字串傳送至 SQL 剖析器之前,先對字串執行巨集替代。 例如,在 Databricks 筆記本中,美元符號($)用來引入 widget,需要用跳脫符號以保存在字串字面值中。
範例
> SELECT 'Spark';
Spark
> SELECT CAST(5 AS STRING);
5
> SELECT 'O\'Connell'
O'Connell
> SELECT 'Some\nText'
Some
Text
> SELECT r'Some\nText'
Some\nText
> SELECT '서울시'
서울시
> SELECT ''
> SELECT '\\'
\
> SELECT r'\\'
\\
-- From a notbook cell (without a widget 'e' being defined)
> SELECT 'Hou$e', 'Hou\$e', r'Hou$e', r'Hou\$e'
Hou Hou$e Hou Hou$e
> SELECT COLLATION('hello');
UTF8_BINARY
> CREATE TEMPORARY VIEW v DEFAULT COLLATION UNICODE_CI
AS SELECT 'hello' AS c1;
> SELECT COLLATION FOR(c1) FROM v;
UNICODE_CI