STRING
類型
適用於:Databricks SQL
Databricks Runtime
此類型支援任何長度大於或等於 0 的字元序列。
語法
STRING
字面意義
[r|R]'c [ ... ]'
r
或R
適用於:
Databricks SQL
Databricks Runtime 10.4 LTS 和更新版本
選擇性前綴,表示 原始字面值。
c
Unicode 字元集中的任何字元。
下列跳脫序列會在一般字串常量中辨識(不含 r
前置詞),並根據下列規則加以取代:
-
\0
->\u0000
, 具有代碼 0 的 Unicode 字元; -
\b
->\u0008
, 退格空間; -
\n
->\u000a
,換行; -
\r
->\u000d
,歸位字元; -
\t
->\u0009
, 水平索引標籤; -
\Z
->\u001A
, 替代; -
\%
->\%
; -
\_
->\_
; -
\<other char>
-><other char>
,略過斜線,並將字元保留為 。
如果字串前面加上 r
沒有逸出字元。
STRING
型別的內建排序從其所使用的上下文中繼承而來:
- 函式所產生的字串會從函式的輸入自變數衍生定序。
- 在
TABLE
或VIEW
裡的CREATE
或ALTER
中,其預設排序符合該TABLE
的預設排序,或VIEW
。 - 在最上層 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