SUBSTRING PostgreSQL () dengan Contoh

Isi kandungan:

Anonim

Apakah Substring PostgreSQL?

Fungsi substring PostgreSQL membantu anda mengekstrak dan mengembalikan sebahagian rentetan. Daripada mengembalikan keseluruhan rentetan, ia hanya mengembalikan sebahagiannya.

Dalam tutorial PostgreSQL ini, anda akan belajar:

  • Apa itu Substring Postgresql?
  • Sintaks
  • Contoh
  • Memadankan Substring dengan SQL Regular Expression
  • Menggunakan pgAdmin

Sintaks

Fungsi substring PostgreSQL mengambil sintaks berikut:

substring( string [from starting_position] [for length] )

Parameter

Nama Penerangan
tali Rentetan sumber yang jenis datanya adalah varchar, char, string, dll.
permulaan_posisi Ini adalah parameter pilihan. Ini menunjukkan tempat di mana pengekstrakan tali akan bermula. Sekiranya anda menghilangkan parameter ini, pengekstrakan akan bermula dari kedudukan 1, yang merupakan watak pertama dalam rentetan.
panjang Ini adalah parameter pilihan. Ini menunjukkan bilangan watak yang akan diekstrak dari rentetan. Sekiranya anda menghilangkan parameter ini, fungsi akan mengekstrak dari kedudukan_ awal hingga akhir rentetan.

Contoh

Dalam contoh ini, kami ingin mengekstrak 4 watak pertama dari perkataan Guru99:

SELECT substring('Guru99' for 4);

Perintah akan mengembalikan yang berikut:

Kami tidak menentukan kedudukan permulaan, jadi pengekstrakan substring bermula pada kedudukan 1. 4 aksara diekstrak untuk mengembalikan perkara di atas.

Contoh berikut menunjukkan cara menentukan kedudukan permulaan:

SELECT substring('Guru99' from 1 for 4);

Perintah akan mengembalikan yang berikut:

Kami menyatakan bahawa pengekstrakan substring harus bermula dari kedudukan 1, dan 4 watak harus diekstrak.

Mari kita mengeluarkan 99 dari rentetan Guru99:

SELECT substring('Guru99' from 5);

Perintah akan mengembalikan yang berikut:

Kami menentukan kedudukan permulaan sebagai 5. Oleh kerana bilangan watak yang akan diekstrak tidak ditentukan, pengekstrakan berlari hingga akhir rentetan.

Berikut adalah contoh lain:

SELECT substring('Guru99' from 5 for 2);

Perintah akan mengembalikan yang berikut:

Kami telah memulakan pengekstrakan pada kedudukan 5, dan 2 watak telah diekstrak.

Pertimbangkan jadual Buku yang diberikan di bawah:

Kami ingin mendapatkan idea kasar mengenai nama setiap buku. Walau bagaimanapun, kami hanya dapat mengekstrak 15 aksara pertama dari lajur nama jadual:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Perintah akan mengembalikan yang berikut:

Kami sekarang mempunyai idea kasar mengenai nama setiap buku.

Memadankan Substring dengan SQL Regular Expression

Dalam PostgreSQL, kita dapat mengekstrak substring yang sesuai dengan ungkapan biasa POSIX yang ditentukan. Dalam kes ini, fungsi substring digunakan dengan sintaks berikut:

SUBSTRING(string FROM matching_pattern)

atau

SUBSTRING(string, matching_pattern);

Berikut adalah penjelasan mengenai parameter di atas:

String adalah rentetan sumber yang jenis datanya adalah varchar, char, string, dll.

Match_pattern adalah corak yang akan digunakan untuk mencari dalam rentetan.

Contoh:

SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;

Perintah akan mengembalikan yang berikut:

String input kami adalah umur anda 22. Dalam corak, kami mencari pola angka dalam rentetan kami apabila ini dijumpai, fungsi substring hanya boleh mengekstrak dua watak.

Menggunakan pgAdmin

Sekarang mari kita lihat bagaimana tindakan dilakukan menggunakan pgAdmin.

Pertanyaan di atas di mana kita tidak memerlukan pangkalan data dapat dijalankan langsung dari tetingkap editor pertanyaan. Lakukan perkara berikut:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2) Klik ikon Alat Pertanyaan.

Tetingkap editor pertanyaan akan dibuka.

Langkah 3) Taipkan pertanyaan berikut pada tetingkap editor.

SELECT substring('Guru99' for 4);

Langkah 4) Klik ikon Execute untuk melaksanakan pertanyaan.

Ia harus mengembalikan yang berikut:

Contoh 2:

SELECT substring('Guru99' from 1 for 4);

Ia harus mengembalikan yang berikut:

Berikut adalah contoh seterusnya:

SELECT substring('Guru99' from 5);

Ia harus mengembalikan yang berikut:

Contoh 3:

SELECT substring('Guru99' from 5 for 2);

Ia harus mengembalikan yang berikut:

Sekarang, mari kita jalankan contoh menggunakan jadual Buku pangkalan data Demo:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2)

  1. Dari bar navigasi di sebelah kiri- Klik Pangkalan Data.
  2. Klik Demo.

Langkah 3) Taipkan pertanyaan dalam editor pertanyaan:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Langkah 4) Klik butang Laksanakan.

Ia harus mengembalikan yang berikut:

Kami kini mempunyai idea asas mengenai nama setiap buku.

Memadankan Substring dengan SQL Regular Expression

Untuk mencapai hal yang sama di pgAdmin, lakukan perkara berikut:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2) Klik ikon Alat Pertanyaan.

Tetingkap editor pertanyaan akan dibuka.

Langkah 3) Taipkan pertanyaan berikut pada tetingkap editor.

SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;

Langkah 4) Klik ikon Execute untuk melaksanakan pertanyaan.

Ia harus mengembalikan yang berikut:

Ringkasan:

  • Fungsi Substring PostgreSQL membantu mengekstrak dan mengembalikan hanya sebahagian daripada rentetan.
  • Watak pertama rentetan berada pada kedudukan 1.
  • Sekiranya bilangan watak yang akan diekstrak dari rentetan tidak ditentukan, fungsi tersebut akan mengekstrak watak dari kedudukan permulaan yang ditentukan hingga akhir rentetan.
  • Sekiranya bilangan watak yang akan diekstrak ditentukan, hanya jumlah watak yang akan diekstrak.

Muat turun Pangkalan Data yang digunakan dalam Tutorial ini