Pola tanggalwaktu

Berlaku untuk:check marked yes Databricks SQL check marked yes Databricks Runtime

Ada beberapa skenario umum untuk penggunaan tanggalwaktu di Azure Databricks:

Tabel pola

Azure Databricks menggunakan huruf pola dalam tabel berikut untuk penguraian dan pemformatan tanggal dan tanda waktu:

Simbol Makna Presentasi Contoh
G era text AD; Anno Domini
y tahun tahun 2020; 20
D hari-tahun nomor(3) 189
M/L bulan-tahun month 7; 07; Jul; Juli
d hari-bulan nomor(3) 28
Q/q kuartal-tahun nomor/teks 3; 03; Q3; kuarter ke-3
E hari dalam seminggu text Sel; Selasa
F hari yang selaras dalam seminggu dalam sebulan nomor(1) 3
a am-pm-hari am-pm PM
h jam-jam-pagi-pm (1-12) nomor(2) 12
K jam-pagi-pm (0-11) nomor(2) 0
k jam-jam-hari (1-24) nomor(2) 0
H jam-hari (0-23) nomor(2) 0
m menit-jam nomor(2) 30
s detik-menit nomor(2) 55
S sepersekian detik pecahan 978
V ID zona waktu zona-id Amerika/Los_Angeles; Z; -08:30
z nama zona waktu nama-zona Waktu Standar Pasifik; PST
O offset zona terlokalisasi offset-O GMT+8; GMT+08:00; UTC-08:00;
X zona-offset 'Z' untuk nol offset-X Z; -08; -0830; -08:30; -083015; -08:30:15;
x zona-offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z zona-offset offset-Z +0000; -0800; -08:00;
' {i>escape delimiter
'' kutipan tunggal harfiah '
[ bagian opsional mulai
] akhir bagian opsional

Jumlah huruf pola menentukan format.

  • Teks: Gaya teks ditentukan berdasarkan jumlah huruf pola yang digunakan. Kurang dari 4 huruf pola akan menggunakan bentuk teks pendek, biasanya singkatan, misalnya hari-dalam-minggu Senin mungkin menampilkan "Sen". Tepat 4 huruf pola akan menggunakan formulir teks lengkap, biasanya deskripsi lengkap, misalnya, hari Senin mungkin menampilkan "Senin". 5 huruf atau lebih akan gagal.

  • Nomor(n): N di sini mewakili jumlah huruf maksimum yang dapat digunakan oleh tipe pola tanggalwaktu ini. Jika jumlah hurufnya satu, maka nilai yang dihasilkan menggunakan jumlah digit minimum dan tanpa {i>paddingpad

  • Nomor/Teks: Jika jumlah huruf pola adalah 3 atau lebih, gunakan aturan Teks di atas. Jika tidak, gunakan aturan Angka di atas.

  • Pecahan: Gunakan satu atau lebih (hingga 9) karakter 'S' yang berdekatan, misalnya, SSSSSS, untuk mengurai dan memformat pecahan detik. Untuk penguraian, panjang pecahan yang dapat diterima adalah [1, jumlah 'S' yang bersebelahan]. Untuk pemformatan, panjang pecahan akan diisi dengan jumlah 'S' yang berdekatan dengan nol. Azure Databricks mendukung tanggalwaktu presisi mikro detik, yang memiliki hingga 6 digit signifikan, tetapi dapat mengurai nano detik dengan bagian terpotong yang melebihi.

  • Tahun: Hitungan huruf menentukan lebar bidang minimum di bawah {i>paddingpad

  • Bulan: Mengikuti aturan Angka/Teks. Bentuk teks bergantung pada huruf - 'M' menunjukkan bentuk 'standar', dan 'L' untuk bentuk 'berdiri sendiri'. Kedua bentuk ini hanya berbeda dalam beberapa bahasa tertentu. Misalnya, dalam bahasa Rusia, 'Июль' adalah bentuk Juli yang berdiri sendiri, dan 'Июля' adalah bentuk standar. Berikut adalah contoh untuk semua huruf pola yang didukung:

    • 'M' atau 'L': Nomor bulan dalam setahun mulai dari 1. Tidak ada perbedaan antara 'M' dan 'L'. Bulan dari 1 hingga 9 dicetak tanpa {i>padding

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' atau 'LL': Nomor bulan dalam setahun mulai dari 1. Nol padding ditambahkan untuk bulan 1-9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM': Representasi tekstual pendek dalam bentuk standar. Pola bulan harus menjadi bagian dari pola tanggal bukan hanya bulan yang berdiri sendiri kecuali lokal di mana tidak ada perbedaan antara bentuk berdiri dan berdiri sendiri seperti dalam bahasa Inggris.

      > SELECT date_format(date '1970-01-01', 'd MMM');
        1 Jan
      
      -- Passing a format pattern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'dd MMM', 'locale', 'RU'));
        01 янв.
      
    • 'MMMM': representasi bulan tekstual penuh dalam bentuk standar. Ini digunakan untuk mengurai/memformat bulan sebagai bagian dari tanggal/stempel waktu.

      > SELECT date_format(date '1970-01-01', 'd MMMM');
        1 January
      
      -- Passing a format pttern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'd MMMM', 'locale', 'RU'));
        1 января
      
  • am-pm: Ini menampilkan am-pm-of-day. Jumlah huruf pola harus 1.

  • Zone ID(V): Ini menampilkan tampilan ID zona waktu. Jumlah huruf pola harus 2.

  • Nama zona(z): Ini menampilkan nama tekstual tampilan ID zona waktu. Jika jumlah hurufnya satu, dua atau tiga, maka nama pendeknya akan keluar. Jika jumlah huruf adalah empat, maka nama lengkapnya adalah output. Lima atau lebih huruf akan gagal.

  • Offset X dan x: Ini memformat offset berdasarkan jumlah huruf pola. Satu huruf hanya menampilkan jam, seperti '+01', kecuali menit bukan nol dalam hal ini menit juga ditampilkan, seperti '+0130'. Dua huruf menampilkan jam dan menit, tanpa titik dua, seperti '+0130'. Tiga huruf menampilkan jam dan menit, dengan titik dua, seperti '+01:30'. Empat huruf menampilkan jam dan menit dan detik opsional, tanpa titik dua, seperti '+013015'. Lima huruf menampilkan jam dan menit dan detik opsional, dengan titik dua, seperti '+01:30:15'. Enam huruf atau lebih akan gagal. Huruf pola 'X' (huruf besar) akan menampilkan 'Z' ketika offset yang akan dikeluarkan adalah nol, sedangkan huruf pola 'x' (huruf kecil) akan menampilkan '+00', '+0000', atau '+00 :00'.

  • Offset O: Ini memformat offset lokal berdasarkan jumlah huruf pola. Satu huruf menampilkan bentuk pendek dari offset terlokalisasi, yang merupakan teks offset terlokalisasi, seperti 'GMT', dengan jam tanpa awalan nol, opsional 2 digit menit dan detik jika bukan nol, dan titik dua, misalnya 'GMT+8 '. Empat huruf menampilkan formulir lengkap, yang merupakan teks offset yang dilokalkan, seperti 'GMT, dengan bidang 2 digit jam dan menit, bidang kedua opsional jika bukan nol, dan titik dua, misalnya 'GMT+08:00'. Hitungan huruf lainnya akan gagal.

  • Offset Z: Ini memformat offset berdasarkan jumlah huruf pola. Satu, dua atau tiga huruf menampilkan jam dan menit, tanpa titik dua, seperti '+0130'. Outputnya adalah '+0000' ketika{i>

  • Awal dan akhir bagian opsional: Gunakan [] untuk menentukan bagian opsional dan mungkin bersarang. Selama pemformatan, semua data yang valid dikeluarkan bahkan di bagian opsional. Selama penguraian, seluruh bagian mungkin hilang dari string yang diuraikan. Bagian opsional dimulai dengan [ dan diakhiri menggunakan ] (atau di akhir pola).

  • Simbol 'E', 'F', 'q' dan 'Q' hanya dapat digunakan untuk pemformatan waktu-tanggal, misalnya date_format. Mereka tidak diperbolehkan digunakan untuk penguraian waktu, misalnya to_timestamp.