PostgreSQL Dize Birleştirmesi

Postgresql Dize Birlestirmesi



İki dizeniz olduğunda, bunları son bir dize elde edecek şekilde birleştirmek mümkündür. Bir kullanıcının adı ve soyadı örneğini alarak, tam adını elde etmek için bunları birleştirebilirsiniz. PostgreSQL'de dize birleştirme için kullanabileceğiniz iki seçenek vardır. (||) operatörünü kullanmanın eski yöntemi ve CONCAT()'ı kullanmanın yeni seçeneği vardır. Dizeleri kolaylıkla nasıl birleştireceğinizi anlamanızı sağlamak için bu yazıda her iki yol da ele alınmaktadır. Dize birleştirmenin farklı örneklerini görmek için okumaya devam edin.

PostgreSQL'de Dize Birleştirme

Dizeleri farklı nedenlerle birleştirebilirsiniz. Yalnızca bir dizeyle çalışmak istiyor olabilirsiniz ancak değerleri iki sütundan çıkarmak isteyebilirsiniz. Hangi nedenle olursa olsun, dizeleri birleştirmek istiyorsanız PostgreSQL için kullanabileceğiniz iki seçenek vardır. Her birini ilgili örneklerle ayrıntılı olarak tartışalım.

1. Birleştirme Operatörünü Kullanma (||)

PostgreSQL'de (||), dizeleri birleştirmek için kullanabileceğiniz bir birleştirme operatörüdür. İkiden fazla diziniz olabilir ve bunları birleştirmek için aynı mantığı kullanabilirsiniz.







Örneğin, iki dizeniz varsa – “Linux” ve “İpucu” birleştirmek istediğinizde aşağıdaki komutu çalıştırın:





Ayırıcı olarak boş bir dize eklediğimizi unutmayın. Ayrıca çıktımıza “name” adını veriyoruz. İlk (|)| operatörü ilk dizeden sonra gelir. Daha sonra ayırıcı olarak boş stringi ve iki stringi birleştirmek için diğer (||) operatörünü ekliyoruz. Birden fazla dizeniz varsa aynı mantığı kullanın.





2.CONCAT()'ı kullanma

İlk birleştirme seçeneğiyle sorgumuzda sözcükler oluşturduğumuzu fark etmiş olabilirsiniz. Ancak, CONCAT() kullanarak sorguya dürüstlük katabiliriz. Birleştirmede basitlik sunar ve kullanımı daha kolaydır.

Sözdizimi aşağıdaki gibidir:



SELECT CONCAT(dize1, [ayırıcı], dize2);

Ayırıcı isteğe bağlıdır ancak düzgün bir çıktı elde etmek için onu eklemenizi öneririz. Her şey birleştirmeyle neyi başarmak istediğinize bağlıdır.

Daha önce yaptığımız örneği CONCAT() kullanarak yeniden çalıştırmak için aşağıdaki komutu yürütün:

SELECT CONCAT('Linux', ' ', 'İpucu');

Aynı çıktıyı alıyoruz ancak daha anlaşılır bir sorguyla.

Çıktıya daha özel bir ad vermek istiyorsak, AS anahtar sözcüğünü ve ardından çıktı için kullanmak istediğimiz özel adı ekleyin.

Aşağıdaki örnek çıktımızı nasıl “tam ad” olarak adlandırdığımızı göstermektedir:

Ayırıcı eklemediğinizi varsayalım. PostgreSQL iki dizeyi birleştirir ve aşağıdakine benzer bir çıktı elde edersiniz:

Dizelerden birinin boş değer olduğu durumlarda dizeleri birleştirmek mümkündür. Belki bir tabloyla çalışıyorsunuz ve sütun null değeri kabul ediyor. Böyle bir durumda, 'boş' anahtar kelimeleri eklemek iyi sonuç verir ve boş bir dize olarak değerlendirilir.

Aşağıdaki örneği kontrol edin ve böyle bir durumu nasıl gösterdiğimizi görün:

Diyelim ki bir tablonuz var ve iki sütunu birleştirmek istiyorsunuz. Birkaç ekleme dışında süreç aynıdır. Gösterim için aşağıdaki tabloyu ele alalım:

Her öğrencinin tam adını çıkarmak istediğimizi varsayalım. “fname”i “lname” ile birleştirmeliyiz. Komutumuz hedef sütunları, ayırıcıyı ve tablo adını belirtmelidir.

Bu nedenle aşağıdaki gibi çalıştırıyoruz:

CONCAT_WS() ile çalışma

CONCAT() ile çalışırken stringlerin arasına ayırıcının eklendiğini gördük. Ancak PostgreSQL, kullanıcıların ayırıcıyı eklemenin başka bir yolunu bulmalarına olanak sağlamak için 'ayırıcılı' anlamına gelen CONCAT_WS() işlevini sunar.

Bu seçenekte ayırıcı önce gelir ve dizelerinizi daha sonra ekleyebilirsiniz. Amaç sorgunuzdaki düzeni oluşturmaktır. Önceki sorguyu CONCAT_WS() kullanarak yeniden çalıştırmak için komutumuzu aşağıdaki gibi kullanırız:

Hala aynı çıktıyı alıyoruz, ancak komutun formatı değişiyor. PostgreSQL'de dizeleri bu şekilde birleştirebilirsiniz.

Çözüm

PostgreSQL dize birleştirme farklı durumlarda faydalıdır. Bu gönderide dizelerinizi hızlı bir şekilde birleştirmek için iki yöntem anlatıldı. Bunları deneyin ve kendinizi daha rahat hissettiğiniz yöntemle pratik yapmaya devam edin. Bu kadar basit!