PostgreSQL Regex Örneğiyle SUBSTRING() İşlevi
⚡ Akıllı Özet
PostgreSQL ALT DİZİ extracBu fonksiyon, isteğe bağlı bir başlangıç konumu ve uzunluğu kullanarak bir dizenin bir bölümünü döndürür ve ayrıca metinleri POSIX düzenli ifadeleriyle eşleştirerek sayılar veya kodlar gibi kalıpları çıkarır.

Nedir? PostgreSQL Alt dize?
MKS PostgreSQL `substring` fonksiyonu, size şu konularda yardımcı olur:tract ve bir 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; bu da kodları kırpmak ve sabit genişlikli alanları okumak için kullanışlıdır.
Sözdizimi
MKS PostgreSQL alt dize fonksiyonu aşağıdaki sözdizimini alır:
substring( string [from starting_position] [for length] )
Parametreler
Alt dize fonksiyonu ile aşağıdaki parametreler kullanılır:
| dizi | Veri türü varchar, char, string vb. olan kaynak dize. |
| başlangıç pozisyonu | İsteğe bağlı bir parametre. Ex'in bulunduğu yeri belirtir.tracDizenin oluşturulması başlayacaktır. Bu parametreyi atlarsanız, örnektracİfade, dizenin ilk karakteri olan 1. pozisyondan başlar. |
| uzunluk | İsteğe bağlı bir parametre. Çıkarılacak karakter sayısını belirtir.tracBu parametreyi atlarsanız, fonksiyon şu şekilde çalışır:tracBaşlangıç konumundan dizenin sonuna kadar olan kısım. |
Ö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 itibaren dört karakterden oluşmaktadır.tracYukarıdaki sonucu döndürmek üzere ayarlanmıştır.
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:
Eski sevgilimizle 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. Örneğin, şu yöntemlerden birini kullanabiliriz: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, çıkarabilirsiniztracBelirtilen POSIX düzenli ifadesiyle eşleşen bir alt dize. Bu durumda, `substring` işlevi aşağıdaki sözdizimini kullanır:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Yukarıdaki parametrelerin açıklaması aşağıdadır. Dize, kaynak dizedir ve veri tipi `varchar`, `char`, `string` vb. olabilir. `matching_pattern` ise dize içinde arama yapmak için kullanılan kalıptır.
Ö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"dir. Desen içinde sayısal bir desen arıyoruz; bulunduğunda, alt dize işlevi devreye giriyor.tracSadece iki karakter.
pgAdmin Kullanarak Alt Dizeleri Eşleştirme Nasıl Yapılır?
Şimdi bu işlemlerin pgAdmin kullanılarak nasıl gerçekleştirildiğine bakalım. Veritabanı gerektirmeyen sorgular, sorgu düzenleyici penceresinden doğrudan çalıştırılabilir. Sadece şunları yapın:
) 1 Adım pgAdmin hesabınıza giriş yapın.
) 2 Adım pgAdmin'de Sorgu Aracı simgesine tıklayın.
Sorgu düzenleyici penceresi açılacaktır.
) 3 Adım Aşağıdaki sorguyu düzenleyici penceresine yazın.
SELECT substring('Guru99' for 4);
) 4 Adım Sorguyu yürütmek için Yürüt simgesine tıklayın.
) 5 Adım Sorgu yürütme işlemi tamamlandı. Aşağıdakileri döndürmesi gerekiyor:
Ö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, ardından Demo'ya 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 Aşağıdaki sorguyu düzenleyici penceresine 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:
Bu Eğitimde kullanılan Veritabanını İndirin



















