Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
türü, 0'a eşit veya daha uzun karakter dizilerini destekler.
Sözdizimi
STRING
Değişmez Değerler
[r|R]'c [ ... ]' [...]
rveyaRŞunlar için geçerlidir:
Databricks SQL
Databricks Runtime 10.4 LTS ve üzeriHam-değişmez değer belirten isteğe bağlı ön ek.
cUnicode karakter kümesindeki herhangi bir karakter.
Aşağıdaki kaçış dizileri normal dize değişmez değerlerinde (ön ek olmadan r ) tanınır ve aşağıdaki kurallara göre değiştirilir:
-
\0->\u0000, kod 0 ile unicode karakter; -
\b->\u0008, geri al; -
\n->\u000a, çizgi besleme; -
\r->\u000d, satır başı; -
\t->\u0009, yatay sekme; -
\Z->\u001A, yerine; -
\%->\%; -
\_->\_; -
\<other char>-><other char>, eğik çizgiyi atlayın ve karakteri olduğu gibi bırakın.
Dizeye ön ekliyse r kaçış karakteri yoktur.
Türün STRING varsayılan sıralaması, kullanıldığı bağlamdan miras alınır.
- İşlevler tarafından üretilen dizeler, harmanlamayı işlevin giriş bağımsız değişkenlerinden türetir.
- bir
CREATEveyaALTERiçindeTABLE,VIEWveyaFUNCTIONiçinde varsayılan harmanlama, buTABLE,VIEWveyaFUNCTIONöğesinin varsayılan harmanlaması ile eşleşir. - Üst düzey bir UPDATE bağlamında, varsayılan harmanlama , INSERT'dır.
Sonraki boşlukları yoksayan harmanlama için COLLATE UTF8_BINARY_RTRIM ifadesini kullanın.
Daha fazla bilgi için bkz. harmanlama önceliği kuralları.
Değişmez değerlerin zincirlenmesi
Şunun için geçerlidir:
Databricks Runtime 18.0 ve sonrası
Bir concat işlevi veya || işleci kullanmanıza gerek kalmadan dizeleri doğrudan zincirleyebilirsiniz.
Bu, aşağıdakiler için uygundur:
- uzun değişmez değerleri birden çok satıra bölme
- string sabitlerini ve string parametre işaretçilerini, ifade kullanamayacağınız, bir tablo
LOCATION,OPTIONS, veyaCOMMENTtümcesi gibi yerlerde birleştirin. Örneğin, bir tabloLOCATION,OPTIONSveyaCOMMENTyan tümcesi.
Not
Dize değişmez değerlerini sınırlandırmak için tek tırnak (") yerine çift tırnak (') kullanabilirsiniz ancak standart SQL olmadığı için bu önerilmez.
Uyarı
Bazı istemci arabirimleri, sql ayrıştırıcısına göndermeden önce dizelerde makro değiştirmeleri gerçekleştirir.
Örneğin bir Databricks not defterinde$ (dolar) işareti bir pencere öğesi tanıtır ve bir dize değişmez değeri içinde korunması için ile \$ birlikte kaçışın yapılması gerekir.
Örnekler
> 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