Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Typ:
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 [ ... ]' [...]
rlubRDotyczy:
Databricks SQL
Databricks Runtime 10.4 LTS i nowszeOpcjonalny prefiks oznaczający literał pierwotny.
cDowolny 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 generowane przez funkcje uzyskują sortowanie z argumentów wejściowych funkcji.
- W obrębie
CREATElubALTERwTABLE,VIEWlubFUNCTIONdomyślna kolejność sortowania odpowiada domyślnej kolejności sortowania tegoTABLE,VIEWlubFUNCTION. - 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 .
Literały łańcuchowe
Dotyczy:
Databricks Runtime 18.0 i nowsze
Literały ciągów można łączyć bezpośrednio bez konieczności używania metody concat lub operatora ||.
Jest to wygodne:
- dzielenie długich ciągów znaków na wiele wierszy
- Połącz literały ciągu i znaczniki parametrów ciągu tam, gdzie nie można używać wyrażeń, takich jak w klauzuli tabeli
LOCATION,OPTIONSlubCOMMENT. Na przykład tabelaLOCATION,OPTIONSlubCOMMENTklauzula.
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
> EXECUTE IMMEDIATE 'SELECT \'Hello \' :loc \'!\'' USING 'world' AS loc;
Hello World!
> EXECUTE IMMEDIATE
'SELECT '
'1 AS one,'
'2 AS two';
1 2