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

Nedir? PostgreSQL Alt dize?

The PostgreSQL substring işlevi, bir dizenin bir kısmını çıkarmanıza ve döndürmenize yardımcı olur. Dizenin tamamını döndürmek yerine yalnızca bir kısmını döndürür.

Sözdizimi

The 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 İsteğe bağlı bir parametredir. İpin çıkarılmasının başlayacağı yeri belirtir. Bu parametreyi atlarsanız, çıkarma işlemi dizedeki ilk karakter olan 1. konumdan başlayacaktır.
uzunluk İsteğe bağlı bir parametredir. Dizeden çıkarılacak karakter sayısını belirtir. Bu parametreyi atlarsanız, işlev başlangıç_konumundan dizenin sonuna kadar ayıklama yapar.

Örnekler

Bu örnekte Guru4 kelimesinin ilk 99 karakterini çıkarmak istiyoruz:

SELECT substring('Guru99' for 4);

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

PostgreSQL Alt dize

Başlangıç ​​konumunu belirtmedik, dolayısıyla alt dizenin çıkarılması 1. konumdan başlar. Yukarıdakileri döndürmek için 4 karakter çıkarıldı.

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

Alt dizenin çıkarılmasının 1. konumdan başlaması gerektiğini ve 4 karakterin çıkarılması gerektiğini belirttik.

Guru99 dizisinden 99'u çıkaralım:

SELECT substring('Guru99' from 5);

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

PostgreSQL Alt dize

Başlangıç ​​konumunu 5 olarak belirledik. Çıkarılacak karakter sayısı belirtilmediği için çıkarma işlemi stringin sonuna kadar yapıldı.

İşte başka bir örnek:

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

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

PostgreSQL Alt dize

5. pozisyondan çıkarmaya başladık ve 2 karakter çıkarıldı.

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

PostgreSQL Alt dize

Her kitabın adı hakkında kabaca bir fikir edinmek istiyoruz. Ancak tablonun ad sütunundan yalnızca ilk 15 karakteri çıkarabiliriz:

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, belirtilen bir POSIX düzenli ifadesiyle eşleşen bir alt dizeyi çıkarabiliriz. Bu durumda, alt dize 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ın 22 olmasıdır. Desende, dizemizde sayısal bir desen arıyoruz, bu bulunduğunda, alt dize fonksiyonu yalnızca iki karakteri çıkarmalıdır.

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

  • The PostgreSQL Substring işlevi, bir dizenin yalnızca bir kısmının çıkarılmasına ve döndürülmesine yardımcı olur.
  • Dizenin ilk karakteri 1 konumundadır.
  • Dizeden çıkarılacak karakter sayısı belirtilmezse, işlev, karakterleri belirtilen başlangıç ​​konumundan dizenin sonuna kadar çıkarır.
  • Çıkarılacak karakter sayısı belirtilirse yalnızca o sayıda karakter çıkarılır.

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