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:
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:
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:
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:
5. pozisyondan çıkarmaya başladık ve 2 karakter çıkarıldı.
Aşağıda verilen Kitap tablosunu düşünün:
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:
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:
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.
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
- 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