PostgreSQL Substring nedir?
PostgreSQL alt dize işlevi, bir dizenin bir bölümünü çıkarmanıza ve döndürmenize yardımcı olur. Tüm dizeyi döndürmek yerine, yalnızca bir kısmını döndürür.
Bu PostgreSQL eğitiminde şunları öğreneceksiniz:
- Postgresql Substring nedir?
- Sözdizimi
- Örnekler
- Alt Dizeleri SQL Normal İfadesi ile Eşleştirme
- PgAdmin'i kullanma
Sözdizimi
PostgreSQL alt dize işlevi aşağıdaki sözdizimini alır:
substring( string [from starting_position] [for length] )
Parametreler
İsim Soyisim | Açıklama |
dizi | Veri türü varchar, char, string, vb. Olan kaynak dizesi. |
başlangıç pozisyonu | İsteğe bağlı bir parametredir. İpin çıkarılmasının başlayacağı yeri belirtir. Bu parametreyi atlarsanız, ayıklama dizedeki ilk karakter olan konum 1'den başlayacaktır. |
uzunluk | İsteğe bağlı bir parametredir. Dizeden çıkarılacak karakter sayısını gösterir. Bu parametreyi atlarsanız, işlev başlangıç_konumundan dizenin sonuna kadar ayıklayacaktır. |
Örnekler
Bu örnekte, Guru99 kelimesinin ilk 4 karakterini çıkarmak istiyoruz:
SELECT substring('Guru99' for 4);
Komut aşağıdakileri döndürecektir:
Başlangıç konumunu belirtmedik, bu nedenle alt dizenin çıkarılması konum 1'den başlar. Yukarıdakileri döndürmek için 4 karakter çıkarıldı.
Aşağıdaki örnek, başlangıç konumunun nasıl belirleneceğini gösterir:
SELECT substring('Guru99' from 1 for 4);
Komut aşağıdakileri döndürecektir:
Alt dizenin çıkarılmasının 1. konumdan başlaması gerektiğini ve 4 karakterin çıkarılması gerektiğini belirttik.
Guru99 dizesinden 99'u çıkaralım:
SELECT substring('Guru99' from 5);
Komut aşağıdakileri döndürecektir:
Başlangıç konumunu 5 olarak belirledik. Çıkarılacak karakter sayısı belirtilmediğinden, çıkarma dizgenin sonuna kadar devam etti.
İşte başka bir örnek:
SELECT substring('Guru99' from 5 for 2);
Komut aşağıdakileri döndürecektir:
5. pozisyonda çı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. Bununla birlikte, tablonun ad sütunundan yalnızca ilk 15 karakteri çıkarabiliriz:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Komut aşağıdakileri döndürecektir:
Artık her kitabın adı hakkında kabaca bir fikrimiz var.
Alt Dizeleri SQL Normal İfadesi ile Eşleştirme
PostgreSQL'de, 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)
veya
SUBSTRING(string, matching_pattern);
İşte yukarıdaki parametrelerin bir açıklaması:
Dize, veri türü varchar, char, string, vb. Olan kaynak dizedir.
Eşleşen desen, dizede arama yapmak için kullanılacak modeldir.
Örnekler:
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Komut aşağıdakileri döndürecektir:
Girdi dizemiz, yaşınız 22'dir. Örüntüde, dizimizde bu bulunduğunda sayısal bir kalıp arıyoruz, alt dize işlevi yalnızca iki karakter çıkarmalıdır.
PgAdmin'i kullanma
Şimdi pgAdmin kullanılarak eylemlerin nasıl yapıldığını görelim.
Veritabanına ihtiyaç duymadığımız yukarıdaki sorgular doğrudan sorgu düzenleyici penceresinden yürütülebilir. Sadece aşağıdakileri yapın:
Adım 1) pgAdmin hesabınıza giriş yapın.
Adım 2) Sorgu Aracı simgesini tıklayın.
Sorgu düzenleyici penceresi açılacaktır.
Adım 3) Düzenleyici penceresine aşağıdaki sorguyu yazın.
SELECT substring('Guru99' for 4);
Adım 4) Sorguyu yürütmek için Yürüt simgesine tıklayın.
Aşağıdakileri döndürmelidir:
Örnek 2:
SELECT substring('Guru99' from 1 for 4);
Aşağıdakileri döndürmelidir:
İşte bir sonraki örnek:
SELECT substring('Guru99' from 5);
Aşağıdakileri döndürmelidir:
Örnek 3:
SELECT substring('Guru99' from 5 for 2);
Aşağıdakileri döndürmelidir:
Şimdi, Demo veritabanının Kitap tablosunu kullanarak örneği çalıştıralım:
Adım 1) pgAdmin hesabınıza giriş yapın.
Adım 2)
- Soldaki gezinme çubuğundan Veritabanları'nı tıklayın.
- Demo 'yu tıklayın.
Adım 3) Sorguyu sorgu düzenleyicisine yazın:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Adım 4) Yürüt düğmesini tıklayın.
Aşağıdakileri döndürmelidir:
Artık her kitabın adı hakkında temel bir fikrimiz var.
Alt Dizeleri SQL Normal İfadesi ile Eşleştirme
Aynısını pgAdmin'de gerçekleştirmek için aşağıdakileri yapın:
Adım 1) pgAdmin hesabınıza giriş yapın.
Adım 2) Sorgu Aracı simgesini tıklayın.
Sorgu düzenleyici penceresi açılacaktır.
Adım 3) Düzenleyici penceresine aşağıdaki sorguyu yazın.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Adım 4) Sorguyu yürütmek için Yürüt simgesine tıklayın.
Aşağıdakileri döndürmelidir:
Özet:
- PostgreSQL Substring işlevi, bir dizenin yalnızca bir bölümünü ayıklamaya ve döndürmeye yardımcı olur.
- Dizenin ilk karakteri 1. konumdadır.
- Dizeden ayıklanacak karakter sayısı belirtilmezse, işlev karakterleri belirtilen başlangıç konumundan dizenin sonuna kadar çıkarır.
- Çıkarılacak karakter sayısı belirtilirse, yalnızca bu sayıda karakter çıkarılacaktır.
Bu Eğitimde kullanılan Veritabanını indirin