Typ: STRING
Dotyczy: Databricks SQL
Databricks Runtime
Typ obsługuje sekwencje znaków o dowolnej długości większej lub równej 0.
Składnia
STRING
Wartości stałe
[r|R]'c [ ... ]'
r
lubR
Dotyczy:
Databricks SQL
Databricks Runtime 10.4 LTS i nowsze
Opcjonalny prefiks oznaczający literał pierwotny.
c
Dowolny znak z zestawu znaków Unicode.
Następujące sekwencje escape są rozpoznawane w zwykłych ciągach znakowych (bez prefiksu r
) i zastępowane zgodnie z następującymi regułami:
-
\0
->\u0000
, znak Unicode z kodem 0; -
\b
->\u0008
, usuń; -
\n
->\u000a
, kanał liniowy; -
\r
->\u000d
, powrót karetki; -
\t
->\u0009
, karta pozioma; -
\Z
->\u001A
, zastąp; -
\%
->\%
; -
\_
->\_
; -
\<other char>
-><other char>
, pomiń ukośnik i pozostaw znak w obecnej formie.
Jeśli ciąg jest poprzedzony r
, nie ma znaku ucieczki.
Nieodłączne sortowanie typu STRING
jest dziedziczone z kontekstu, w którym jest używany:
- Ciągi wytwarzane przez funkcje uzyskują kolację z argumentów wejściowych funkcji.
- W obrębie
CREATE
lubALTER
wTABLE
lubVIEW
, sortowanie domyślne jest zgodne z domyślnym sortowaniem tegoTABLE
lubVIEW
. - W najwyższym poziomie kontekstu UPDATE, DELETE, INSERT, MERGE lub instrukcji zapytania domyślne sortowanie to
UTF8_BINARY
.
W przypadku sortowania, które ignoruje spacje końcowe, użyj klauzuli COLLATE UTF8_BINARY_RTRIM
.
Aby uzyskać więcej informacji, zobacz reguły pierwszeństwa sortowania .
Uwaga
Chociaż można użyć podwójnych cudzysłowów ("
) zamiast pojedynczych cudzysłowów ('
) do ograniczenia literału ciągu, jest to niezalecane, ponieważ nie jest to standardem SQL.
Ostrzeżenie
Niektóre interfejsy klienta wykonują podstawienia makr w ciągach znaków przed wysłaniem ich do analizatora SQL. Na przykład w notesie Databricks znak (dolara) wprowadza widżet i musi zostać uniknięty, aby zachować go w literału ciągu znaków.
Przykłady
> 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