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:
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:
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:
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:
Ex'e başladık.trac5. pozisyondaki tion ve 2 karakter çıkarıldı.tracted.
Aşağıda verilen Kitap tablosunu düşünün:
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:
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:
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.
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.
) 5 Adım Sorgu yürütme işlemi gerçekleştirilir.
Aşağıdaki sonucu döndürmesi gerekir:
Örnek 2:
SELECT substring('Guru99' from 1 for 4);
Aşağıdaki sonucu döndürmesi gerekir:
İşte bir sonraki örnek:
SELECT substring('Guru99' from 5);
Aşağıdaki sonucu döndürmesi gerekir:
Örnek 3:
SELECT substring('Guru99' from 5 for 2);
Aşağıdaki sonucu döndürmesi gerekir:
Ş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
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
) 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.
Aşağıdaki sonucu döndürmesi gerekir:
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.
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.
Aşağıdaki sonucu döndürmesi gerekir:
Ö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.



















