cial Icons

Prefix fonksiyonu

Prefix 

     Merhaba, bugün string algoritmalarının temeli olan prefix fonksiyonu ile stringteki prefix leri bulmayı anlatacağım bu basit ve temel yöntemden sonra, uzun string text içinde kelime gruplarının hızlıca bulunmasını sağlayan algoritmalar'a geçeceğim. Buradaki notlar daha çok kendime notlar silsilesi olarak devam edecek hem de ihtiyaç duyan arkadaşlar için anlaşılır bir Türkçe kaynak oluşturmaya çalışacağım.

 




               Prefix fonksiyonu basitce bir string içinde soldan sağa arama yapıp prefix değerini bulmayı sağlamaktadır. Basitçe söylemek gerekirse 'aabcaabaa' gibi bir string için :

indisler          
0
1
2
3
4
5
6
7
8
Karakterler
a
a
b
c
a
a
b
a
a
Prefix değerleri 
0
1
0
0
1
2
3
1
2

String Algoritma Terimleri ve SubSequence

Terimler Ve SubSequence 

Merhabalar, Bugün string algoritma terimlerinden ve subsequence bulma metodunun nasıl yazılabileceğinden bahsedeceğim.

Yüksek lisanta gördüğüm bu terimleri paylaşarak hem bilmeyenleri bilgilendirmeyi hem de gerektiğinde kendimi tekrar etmeyi hedeflemekteyim.

Prefix

               Teorik tanımı ile  y=u.x.v olarak kabul ettiğimizde ve u' nun bir boş string olduğunu kabul edersek, x y'nin prefix'i olmuş olmakta. 

                Daha anlaşılır bir dille elimizde y , u, x ve v diye stringler var. stringler arasındaki .(nokta) çarpma anlamına gelmekte yani stringlerin yan yana koyarak birleştirilmesidir. Yani bu mantıkla "ali"."ata"="aliata"gibi. u stringini boş bir string kabul ettiğimize göre aslında y: x ve v nin birleşiminden oluşmakta  x'i "umut" v'yi "coşkun" kabul edersek y="umutcoşkun" olacak ve bu drumda "umut" y stringinin prefixi olacaktır. yani açıkcası stringin baştan  tüm kombinasyonları onun prefixi kabul edilir.y nin prefixleri: "u", "um","umu"..."umutcoskun".

Oracle/PLSQL Null Fonksiyonlar

NULL Fonksiyonlar

     
         Merhaba, bugün sizlere SQL Oracle dilinde null değerlerle ilgili fonksiyonlardan bahsedeceğim. Öncelikle null değerinin ne  anlama geldiğini hatırlayalım. Yazılım dilinde "null" hiçbir değeri olmayan, uzunluğu sıfır olarak kabul edilen bir kavramdır. "Null" değerler 0 veya boşluk değillerdir, çünkü 0 bir number olduğu gibi boşluk da bir char'dır. Bu yüzden çoğu yazılım dillerinde null değerlerle baş etmek için geliştirilmiş özel fonksiyonlar bulunmaktadır.


IS NULL/ IS NOT NULL 

Oracle/PLSQL 'de değerlerin null olup olmadığını test etmek için IS NULL ve IS NOT NULL expression'ları kullanılır. Oracle'da eşitlik operatorleriyle (=) bir değerin null olup olmadığı kontrol edilemez, sonuç unknown döner. Unknown dönen bir sonuç tablodan kayıt getirmez ama "False" ile aynı olmadığı için boolean sorgularda sorun yaratabilir. Bu yüzden IS NULL ile kontrol edilmesi daha garantidir. 


PLSQL Ayın Son İş Günü

PLSQL AYIN SON GÜNÜ

         
        Merhaba bu yazımda plsql ile ayın son iş gününü bulmaya çalışacağız. Aslında PLSQL'de ki LAST_DAY fonksiyonu bize ayın son gününü vermekte fakat sizin çalıştığınız iş yerinde de sizden "Ayın son günü hafta sonuna geliyorsa ayın son iş gününü alın Umut Bey" gibi bir istek geliyorsa bu durumda ne yapılması gerektiğini paylaşacağım.














PLSQL Over Partition

Over Partition


Merhabalar,
 Bugün plsql group by sorgusu içinden tek satırı DA almayı anlatacağım bir sorgu örneği paylaşacağım.

Örneğin sizin çalıştığınız şirkette de taksitle ödeme mantığı var ve nümerik alan yuvarlamasından dolayı son taksitin ilk taksite eşit olmaması durumu var ise (148,38 tl tutarlı bir ödemenin 12 taksit olduğu durum, taksit 12,365 ten 12,37 olur ve son taksit 12.31 olur ) taksitin belli miktarı ödendikten sonra yanlışlıkta tüm taksitleri bir schedule ile ödediğimizi varsayalım :D. Son 6 taksitin hepsini tek seferde ödediğimizi çok fazla veri olduğundan aslında bu 6 verinin toplamından en son az olan verinin de select ile alınması gerektiği bir durumu varsayalım.