Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Jenis ini mendukung urutan karakter dengan panjang apa pun yang lebih besar atau sama dengan 0.
Sintaks
STRING
Harfiah
[r|R]'c [ ... ]' [...]
ratauRBerlaku untuk:
Databricks SQL
Databricks Runtime 10.4 LTS ke atasAwalan opsional yang menunjukkan raw-literal.
cKarakter apa pun dari set karakter Unicode.
Urutan escape berikut dikenali dalam literal string reguler (tanpa r awalan) dan diganti sesuai dengan aturan berikut:
-
\0->\u0000, karakter unicode dengan kode 0; -
\b->\u0008, hapus balik; -
\n->\u000a, pemindahan baris; -
\r->\u000d, pengangkutan kembali; -
\t->\u0009, tabulasi horizontal; -
\Z->\u001A, ganti; -
\%->\%; -
\_->\_; -
\<other char>-><other char>, abaikan garis miring dan biarkan karakter apa adanya.
Jika string diawali dengan r tidak ada karakter escape.
Pengurutan yang terikat dari tipe STRING diwarisi dari konteks di mana ia digunakan.
- String yang dihasilkan oleh fungsi memperoleh pengurutan dari argumen masukan fungsi.
-
CREATEDalam atauALTERdariTABLE, ,VIEW,FUNCTIONatauPROCEDURE, kolate default cocok dengan kolatasi default objek tersebut. - Dalam konteks tingkat UPDATE atas , DELETE, INSERT, MERGE atau pernyataan kueri , kolatasi default adalah kolatasi sesi.
Untuk kolasi yang mengabaikan spasi akhir, gunakan klausa COLLATE UTF8_BINARY_RTRIM.
Lihat aturan prioritas kolase untuk informasi selengkapnya.
Pengerangkaian literal
Berlaku untuk:
Databricks Runtime 18.0 dan yang lebih baru
Anda dapat merangkai literal string secara langsung tanpa perlu menggunakan fungsi concat atau operator ||.
Ini nyaman untuk:
- membagi literal panjang menjadi beberapa baris
- gabungkan literal string dan string penanda parameter ketika Anda tidak dapat menggunakan ekspresi, seperti dalam tabel
LOCATION,OPTIONS, atau klausaCOMMENT. Misalnya tabelLOCATION,OPTIONS, atauCOMMENTklausa.
Catatan
Meskipun Anda dapat menggunakan tanda kutip ganda (") alih-alih tanda kutip tunggal (') untuk memisahkan string harfiah, ini tidak disarankan karena ini bukan SQL standar.
Peringatan
Beberapa antarmuka klien melakukan substitusi makro pada string sebelum mengirimkannya ke pengurai SQL. Misalnya, dalam sebuah notebook Databricks, tanda (dolar) memperkenalkan widget dan perlu diloloskan untuk dapat dipertahankan dalam string literal.
Contoh
> 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
-- A literal uses the session collation.
> SET COLLATION UNICODE_CI;
> SELECT COLLATION('hello');
UNICODE_CI
> 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