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.
- Dalam
CREATEatauALTERdariTABLE,VIEWatauFUNCTION, kolasi default cocok dengan kolasi default dariTABLE,VIEW, atauFUNCTION. - Dalam konteks tingkat atas UPDATE, HAPUS, INSERT, MERGE atau pernyataan kueri kolatasi default adalah
UTF8_BINARY.
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
> 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