[Oracle] Split

Bazı durumlarda gelen değeri virgüllere ayırarak string şeklinde parametre geçeriz ki içeride virgüllerinden ayırarak bir dizi elde ederiz. Bunun C# ve JavaScript’deki karşılığı Split fonksiyonudur. Peki bu olay Oracle’da nasıl ?

Bu makale ile regexp_substring fonksiyonunun kullanımını anlatacağım. ( 10g ve üzeri için geçerlidir.)

Örneğin elimizde ‘1,2,3,4,5’ şeklinde bir string olsun. Bu string’i select içinde virgüllerine ayırıp 1,2,3,4,5 değerleri için kullanma gereksinimi duyduk.

select 
    regexp_substr('1,2,3,4','[^,]+', 1, level) 
  from dual
    connect by 
      regexp_substr('1,2,3,4', '[^,]+', 1, level) is not null;

split

Bu şekilde ‘1,2,3,4’ şekilde yazan yere parametre geçerek istediğiniz bir tabloda sorgu yapabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir