PostgreSQL Regex Örneğiyle SUBSTRING() İşlevi

Nedir? PostgreSQL Alt dize?

MKS PostgreSQL `substring` fonksiyonu, size şu konularda yardımcı olur:trac`t` parametresi, dizenin bir bölümünü döndürür. Tüm dizeyi döndürmek yerine, yalnızca bir bölümünü döndürür.

Sözdizimi

MKS PostgreSQL alt dize fonksiyonu aşağıdaki sözdizimini alır:

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

Parametreler

İsim Açıklama
dizi Veri türü varchar, char, string vb. olan kaynak dize.
başlangıç ​​pozisyonu Bu isteğe bağlı bir parametredir. Ex'in yerleştirileceği yeri belirtir.tracDizenin oluşturulması başlayacaktır. Bu parametreyi atlarsanız, örnektracİşlem, dizenin ilk karakteri olan 1. pozisyondan başlayacaktır.
uzunluk Bu isteğe bağlı bir parametredir. Çıkarılacak karakter sayısını belirtir.tracBu parametreyi atlarsanız, fonksiyon dizeden çıkar.tracBaşlangıç ​​konumundan dizenin sonuna kadar olan t değeri.

Örnekler

Bu örnekte, şunu göstermek istiyoruz:trackelimenin ilk 4 karakteri Guru99:

SELECT substring('Guru99' for 4);

Komut aşağıdakini döndürecektir:

PostgreSQL Alt dize

Başlangıç ​​pozisyonunu belirtmedik, bu nedenle örnektracAlt dizenin başlangıcı 1. pozisyondan başlar. 4 karakter çıkarıldı.tracYukarıdakileri geri göndermesi istendi.

Aşağıdaki örnek, başlangıç ​​pozisyonunun nasıl belirleneceğini göstermektedir:

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

Komut aşağıdakini döndürecektir:

PostgreSQL Alt dize

Eski çalışanın şu şekilde olduğunu belirttik:tracAlt dizenin başlangıcı 1. pozisyondan başlamalı ve 4 karakter çıkarılmalıdır.tracted.

Hadi örnek verelim.tract 99 diziden Guru99:

SELECT substring('Guru99' from 5);

Komut aşağıdakini döndürecektir:

PostgreSQL Alt dize

Başlangıç ​​pozisyonunu 5 olarak belirledik. Çünkü çıkarılacak karakter sayısı...tracTed belirtilmemişti, eskitraction, ipin sonuna kadar uzandı.

İşte başka bir örnek:

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

Komut aşağıdakini döndürecektir:

PostgreSQL Alt dize

Ex'e başladık.trac5. pozisyondaki tion ve 2 karakter çıkarıldı.tracted.

Aşağıda verilen Kitap tablosunu düşünün:

PostgreSQL Alt dize

Her kitabın adını kabaca öğrenmek istiyoruz. Ancak, şunu da belirtebiliriz ki...tracTablonun ad sütunundaki ilk 15 karakteri kullanın:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Komut aşağıdakini döndürecektir:

PostgreSQL Alt dize

Artık her kitabın adı hakkında kabaca bir fikrimiz var.

Alt Dizeleri SQL Normal İfadesiyle Eşleştirme

In PostgreSQL, biz örnek verebiliriztracBelirtilen POSIX düzenli ifadesiyle eşleşen bir alt dize. Bu durumda, `substring` işlevi aşağıdaki sözdizimiyle kullanılır:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Yukarıdaki parametrelerin bir açıklaması aşağıda verilmiştir:

Dize, kaynak dizedir. veri tipi varchar, char, string vb.'dir.

matching_pattern, dizgede arama yapmak için kullanılacak desendir.

Örnekler

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

Komut aşağıdakini döndürecektir:

Alt Dizeleri SQL Normal İfadesiyle Eşleştirme

Giriş dizemiz "Yaşınız 22" şeklindedir. Desen içinde, dizemizde sayısal bir desen arıyoruz; bu desen bulunduğunda, alt dize işlevi yalnızca şunu çıkarmalıdır:tracİki karakter.

pgAdmin Kullanarak Alt Dizeleri Eşleştirme

Şimdi eylemlerin pgAdmin kullanılarak nasıl gerçekleştirildiğini görelim.

Yukarıdaki sorgular, bir veritabanına ihtiyaç duymadığımızda doğrudan sorgu düzenleyici penceresinden çalıştırılabilir. Sadece aşağıdakileri yapın:

) 1 Adım Hesabınıza giriş yapın.
pgAdmin hesabınıza giriş yapın.

) 2 Adım pgAdmin'de,
Sorgu Aracı simgesini tıklayın.

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

Sorgu düzenleyici penceresi açılacaktır.

) 3 Adım Sorgu yazın.
Editör penceresine aşağıdaki sorguyu yazın.

SELECT substring('Guru99' for 4);

) 4 Adım Sorguyu çalıştır
Sorguyu yürütmek için Yürüt simgesine tıklayın.

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

) 5 Adım Sorgu yürütme işlemi gerçekleştirilir.
Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

Örnek 2:

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

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

İşte bir sonraki örnek:

SELECT substring('Guru99' from 5);

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

Örnek 3:

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

Aşağıdaki sonucu döndürmesi gerekir:

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

Şimdi örneği Demo veritabanının Kitap tablosunu kullanarak çalıştıralım:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

) 4 Adım Yürüt düğmesine tıklayın.

pgAdmin'i Kullanarak Alt Dizeleri Eşleştirme

Aşağıdaki sonucu döndürmesi gerekir:

PostgreSQL Alt dize

Artık her kitabın adı hakkında temel bir fikrimiz var.

Alt Dizeleri SQL Normal İfadesiyle Eşleştirme

Aynısını pgAdmin'de gerçekleştirmek için aşağıdakileri yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım Sorgu Aracı simgesini tıklayın.

Alt Dizeleri SQL Normal İfadesiyle Eşleştirme

Sorgu düzenleyici penceresi açılacaktır.

) 3 Adım Editör penceresine aşağıdaki sorguyu yazın.

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

) 4 Adım Sorguyu yürütmek için Yürüt simgesine tıklayın.

Alt Dizeleri SQL Normal İfadesiyle Eşleştirme

Aşağıdaki sonucu döndürmesi gerekir:

Alt Dizeleri SQL Normal İfadesiyle Eşleştirme

ÖZET

  • MKS PostgreSQL Substring fonksiyonu, örneğin şu konularda yardımcı olur:tracBir dizenin yalnızca bir kısmını döndürüyor.
  • Dizenin ilk karakteri 1 konumundadır.
  • Eğer gösterilecek karakter sayısıtracDizeden gelen değer belirtilmemişse, fonksiyon hata verecektir.tracBelirtilen başlangıç ​​konumundan dizenin sonuna kadar t karakter.
  • Eğer gösterilecek karakter sayısıtracBelirtilen sayıda karakter gösterilecektir, yalnızca o kadar karakter gösterilecektir.tracted.

Bu Eğitimde kullanılan Veritabanını İndirin

Bu yazıyı şu şekilde özetleyin: