Bagikan melalui


STRING jenis

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Jenis ini mendukung urutan karakter dengan panjang apa pun yang lebih besar atau sama dengan 0.

Sintaks

STRING

Harfiah

[r|R]'c [ ... ]' [...]
  • r atau R

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS ke atas

    Awalan opsional yang menunjukkan raw-literal.

  • c

    Karakter 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 CREATE atau ALTER dari TABLE, VIEW atau FUNCTION, kolasi default cocok dengan kolasi default dari TABLE, VIEW, atau FUNCTION.
  • 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:dicentang ya 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 klausa COMMENT. Misalnya tabel LOCATION, OPTIONS, atau COMMENT klausa.

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