Change Font Size

Change Screens

Change Profile

Change Layouts

Change Direction

Change Menu Styles

Cpanel

Duyurular

SAP Türkiye’ye yeni Pazarlama Müdürü

Ericcson Türkiye’de Pazarlama ve Strateji Müdürü  olarak görev yapan Erdem Aksakal, SAP Türkiye’nin yeni Pazarlama Müdürü oldu. Dünyanın en büyük kurumsal yazılım firmalarından SAP, Türkiye kadrosunu genişletmeye devam ediyor. SAP…...
Devamını Oku..
Salı, 14 Aralık 2010 13:47 in Duyrular

IBM'den çevre dostu veritabanı sistemi

IBM'den çevre dostu veritabanı sistemi IBM’in yeni DB2 veritabanı sürümü, veri saklama altyapılarından kaynaklanan karbon salınımını %75’e varan oranda azaltarak, küresel ısınmayla savaşıyor. IBM, yeni DB2 veritabanında yüksek ölçekli sıkıştırma…...
Devamını Oku..
Salı, 14 Aralık 2010 10:01 in Duyrular

Avea BT Sistemleri Uygulama Geliştirme Direktörü Cahit Terzioğlu

Merhaba, ETL süreçlerini ve faydalarını iyi analiz edebileceğimiz bir yazı paylaşıyoruz.Bunun için Avea BT Sistemleri Direktörü Cahit Beyle roportajdan bir bölüm yayınlayalım. Avea BT Sistemleri Uygulama Geliştirme Direktörü Cahit Terzioğlu…...
Devamını Oku..
Salı, 14 Aralık 2010 09:32 in Duyrular

Genel Duyuru

Merhaba  Arkadaşlar, Sitemiz güncellenmekte ve sizden gelen istekler doğrultusunda her gün yeni bir şeyler eklenmektedir. Bundan dolayı sitemize Forum, Video bölümlerini ekledik. Modüllerimizi daha da geliştiriyor olacağız. Sitemizi bloglarınızda link…...
Devamını Oku..
Salı, 14 Aralık 2010 09:10 in Duyrular

Yapı Kredi Bankası DataWarehouse Uygulaması

      "YKB Oracle 8i üzerinde geliştirdiği DataWarehouse uygulamasını yedi hafta içerisinde Sybase IQ ya taşıyarak, on aylık geri ödeme süresi ile yatırım geri dönüş maliyetinde %154 kazanç sağlamış…...
Devamını Oku..
Pazar, 12 Aralık 2010 20:34 in Duyrular

En Çok Okunanlar


Data Dictionary İstatistiğinin Alınması on 24 Haziran 2010, 00.00 by Yusuf Arslan in Oracle
Data Dictionary İstatistiğinin Alınması
Bu yazımda Oracle Database 10g ‘yle birlikte kullanıma sununlan cost-based optimizer (COB) hakkında işinize yarayacak bazı bilgiler vermek istiyorum. Cost-based optimizer uygulamasının asli görevi SYS ve SYSTEM ş
Veri, Veritabanı, Başarılı Veritabanı Uygulamaları İçin Dört Öneri
Hasan Tonguç Yılmaz bey’in Turkcell bloğunda yeralan yazılarını izniyle paylaşıyor olacağız.Öncelikle tanımayanlar için Tonguç Yılmaz kimdir kendi yazılarından tanıyalım.    Liseyi Mu�
Oracle Database 11g Bileşenleri Ve Mimarisi-1
Oracle Database 11g Bileşenleri Ve Mimarisi-1 Bu makalede Oracle Database 11g (Oracle 11g) veritabanı yönetimini öğrenmeye başlayacağız. Makalenin hazırlanış amacı Oracle 11g Administration I OCA sertifika
Oracle 11g BI ile Harita Üzerinde Rapor Oluşturma(Integratıon Mapviews)
BI EE 11 g’nin en büyük özelliklerinden biri MapViewer’dır.  Bu özellik , haritalara yetenek ve görsellik katarak raporlar oluşturmamızı sağlamaktadır.Örneğin dünya çapında bir haritada ülke b
Veriambarı Yazılım Geliştirme Sürecinde Test on 14 Aralık 2010, 09.47 by Yusuf Arslan in Oracle
Veriambarı Yazılım Geliştirme Sürecinde Test
Veriambarı bir organizasyonun elektronik olarak saklanan datasının deposudur.Veri ambarları raporlama ve analizi kolaylaştırmak için dizayn edilmişlerdir. Veriambarları analiz ve ilişkili verilerin sorgulanabildi
Salı, 14 Aralık 2010 19:53

Add Months() Fonksiyonu

ADD_MONTHS   Fonksiyonu ve Gün Ekleme

Merhaba arkadaşlar, Bu makalemde add_months() fonksiyonundaki bir takım incelikleri sizlerle paylaşacağım. Tarih bilgisi içeren önemli ve kritik raporlarınızda kesinlikle dikkatinizden kaçmaması gereken bir konu olduğunu düşünüyorum.

SQL tarih fonksiyonlarından biri de add_months fonksiyonudur. Bu fonksiyonun çeşitli kullanım şekilleri vardır. Fakat fonksiyonun temel mantığı; girilen bir tarihten itibaren, verilen ay sayısı kadar geriye veya ileriye gitmektir. Fonksiyonu analiz edersek ;

add_months(‘date’,number)  şeklinde;

-date à girdiğimiz bir tarih,

-number à herhangi bir sayı (3,8,-4 gibi)

Şimdi fonksiyonu birkaç  örnekle inceleyelim :

 

İfade

Sonuç

1

ADD_MONTHS('10-APR-2010', 2)

10/06/2010

2

ADD_MONTHS(SYSDATE,2)

07/02/2011 14:00:15 --(çalıştırdığım tarih üzere)

3

ADD_MONTHS('15-JUL-1988',-2)

15/05/1988

4

ADD_MONTHS('31-JAN-2010', 1)

28/02/2010

5

ADD_MONTHS('30-JAN-2010', 1)

28/02/2010

6

ADD_MONTHS('29-JAN-2010', 1)

28/02/2010

7

ADD_MONTHS('28-JAN-2010', 1)

28/02/2010

8

ADD_MONTHS('27-JAN-2010', 1)

27/02/2010

9

ADD_MONTHS('30-JUN-1988',1)

31/07/1988

10

TO_DATE('31-JAN-2010') + 30

02/03/2010

Yukarıdaki tablonun her satırındaki örnekleri dikkatle incelemekte fayda var.

Tablodaki örneklerden ilkinde ; 10 nisan 2010 tarihine , 2 ay ekliyoruz ve sonuç olarak 10 haziran tarihine gidiyoruz. Aynı şekilde 3. Örnekte 15 temmuzdan 2 ay geriye giderek 15 mayıs tarihine geliyoruz fakat dikkat etmemiz gereken önemli bir nokta var : O da 4 ve sonraki satırlardaki örnekler.

4. Örnekte, 31 ocak tarihine bir ay eklediğimizde 28 Şubata gidiyor. Yani bu fonksiyon mantık olarak seçilen tarih üzerine 30 gün eklemiyor. Takvim üzerinde direk belirtilen günden “x ay sonrasına” gidiyor.   4,5,6 ve 7. Satırlardaki ifadelerin aynı sonucu döndürmesinin sebebi budur. 30 ocaktan 1 ay sonra da 28 şubattır; 28 ocaktan 1 ay sonra da 28 şubattır. Burada dikkat edilmesi gereken, ay ekleme işlemini gün bazında değil takvim bazında yapmasıdır.

10. örneğe baktığımızda ise ekleme işlemi tamamen gün bazında yapılmaktadır. Yani verilen tarihin üstüne takvim üzerinden x sayıda gün eklenir ve o sonuç döndürülür.

Kategori Oracle

PL-SQL Fonksiyonlari : NVL

NVL(deger, deger_Null_ise_bu_deger_ile_degistir )

fonksiyonu eger deger ifadesinin degeri "null" ise, deger_Null_ise_bu_deger_ile_degistir ifadesi ile degistirir. Diger durumlarda deger i geri döndürecektir.

Fonksiyonun amaci, null olarak gelen degerleri, belirtilen deger ile degistirmektir. Bu islev ile ilgili alandaki tüm degerlerin "null" olmamasi garanti edilir.

 

Nerelerde tercih edilir ?

  • Çogunlukla sayisal bir deger döndürmesi beklenen alanlardaki veriler eger "null" ise 0 ile degistirmek için kullanilir. Örnegin, müsterilerin yil yil gerçeklestirdigi tüm ödemeleri toplamak istiyorsunuz. Her bir müsterinin her yil için ödeme yapmamis olacagi olasi ve beklendik bir durumdur. Dolayisiyla müsteri ile dönem ve ödeme tablosunu "left join" ile bagladiginizda, bazi dönemlere ait ödeme kayitlariniz "null" olarak gelecektir. Aritmetik isleme dahil edebilmek için bu alanlari 0 ile degistirmeniz gerekmektedir.
  • String degerleri birlestimek istediginizde, "null" kontrolu yapmaniz gerekmektedir. Çünkü birlestireceginiz alanlar (metinler) içinde eger bir tane bile "null" degere sahip alan varsa, tüm ifadeniz "null" olacaktir. Bu durumda "null" olan degeri '' (bos karakter) ile degistirmeniz gerekmektedir. Örnegin, il , ilçe ve semt taniminin bulundugu tablonuzdaki bu alanlari birlestirerek müsterinin adresini tek satir halinde elde etmek istiyorsaniz, bu alanlardan herhangi birisinin girilmemis olma ihtimalini (null olma ihtimali) göz ardi etmemelisiniz aksi taktirde sadece semt bilgisi girilmemis kayitlar için bile tüm adres degerini "null" olarak elde edersiniz.

select NVL(donem_toplami,0) as toplam ...

select NVL(metin1,'') || NVL(metin2,'') || ... || NVL(metinN,'') as olusturulanMetin ...

 

PL-SQL Fonksiyonlari : NVL2

 

NVL2( deger, deger_Null_degilse_bu_deger_ile_degistir, deger_Null_ise_bu_deger_ile_degistir)

fonksiyonu deger i eger deger NULL degilse 2. parametre ile NULL is 3.parametre ile degistirir.

 

Özellestirilmis bir IF-ELSE yazimidir. Eger alan "null" degil ise deger_Null_degilse_bu_deger_ile_degistir degeri ile , "null" ise deger_Null_ise_bu_deger_ile_degistir degeri ile degistirir.

 

Nerede tercih edilir ?

  • Bir alanin "null" olup olmama durumuna göre kullaniciya anlamli bir mesaj vermek istediginizde kullanabilirsiniz. "null" ise YOK , degil ise VAR yazmak için kullanabilirsiniz.

PL-SQL Fonksiyonlari : DECODE

Decode( ifade, aranan_deger1, aranan_deger1e_esit_ise_bu_deger_ile_degistir,aranan_deger2 ,aranan_deger2e_esit_ise_bu_deger_ile_degistir, [aranan_degerN, aranan_degerNe_esit_ise_bu_deger_ile_degistir]... [hicbiri_ile_eslesmedi_ise_bu_deger_ile_degistir] )

fonksiyonu ifade içersinde aranan_deger1 ... aranan_degerN degerlerini arar ve ifade hangi aranan_deger e karsilik geliyor ise aranan_degere_esit_ise_bu_deger_ile_degistir degerini döndürür.

Fonksiyonu IF-THEN-ELSE-END kullanimina karsilik gelir. Pl-Sql özelinde CASE-WHEN-ELSE-ENDCASE-WHEN kalibinda istediginiz herhangi bir kosulu kullanabilirken, Decode esitlik durumlari için elverislidir. kalibina karsilik gelir. Bu kalibin esitlik durumlari için özellestirilmis halidir. Yani

Nerelerde tercih edilir ?

  • NVL fonksiyonlari sadece "null" ile kiyaslama yaparken, Decode fonksiyonu herhangi bir deger ileNVL fonksiyonlarini kapsar. Onlarin kullanildigi heryerde kullanilabilir. kiyasma yapabilme imkani tanir. Dolayisyla
  • Belirli kodlara karsilik, bazi tanimlar yazilmak isteniyorsa kullanilir. Örnegin, Decode(IL_KODU,34, 'ISTANBUL', 10, 'BALIKESIR' , 10.5 , 'BANDIRMA' , 35, 'IZMIR' , 35.5 , 'KARSIYAKA', 'TÜRKIYE') de oldugu gibi dönen il koduna göre ISTANBUL,BALIKESIR, BANDIRMA ... yada hiç eslesen olmamasi durumda TÜRKIYE döndürmek için kullanilabilir.
  • Referans tablolari olmayan degerleri anlamlandirmak için kullanilabilir. DECODE(Alan,1,'Evet', 0, 'Hayir','Belki') seklinde tanimlarsak, Alan'dan dönen deger 1 ise Evet , 0 ise Hayir , 1 veya 0 dan farkli bir deger döner ise Belki degerini geri döndürecektir.

Alintidir --> http://dervisali.blogspot.com/2008/06/oracle-functions.html

Kategori Oracle
Perşembe, 28 Ekim 2010 21:10

Sql Grup Fonksiyonları

Bir Alanın Toplamını Hesaplama (SUM)

SUM(kolon_adı) fonksiyonu, bir alandaki verilerin toplamını hesaplar. Kolondaki verilerin hepsi sayısal veri tipinde(data type) (tam sayı(integer), ondalıklı sayı(decimal),devirli sayı(floating point), para(money)) olmalıdırlar.

Bir Kolonun Averajını Hesaplama (AVG)

AVG(kolon_adı) fonksiyonu, bir kolondaki verilerin averajı(aritmetik ortalaması)nı hesaplar. Kolondaki verilerin hepsi aynı sayısal (numeric) veri tipinde (data type) (tam sayı(integer), ondalıklı sayı(decimal), devirli sayı(floating point),para(money)) olmalıdırlar.

En büyük ve En küçük Değerlerin Bulunması (MIN ve MAX)

MIN(kolon_adı) ve MAX(kolon_adı) fonksiyonları sırasıyla, bir kolondaki en küçük ve en büyük değeri bulurlar. Kolondaki veriler sayısal (numeric), zaman (date/time), karakter (string) veri tipinde olabilirler. MIN ve MAX fonksiyonlarının sonuçları da kendilerini oluşturan kolondaki verilerle aynı veri tipindedirler.

Verileri Sayma (COUNT)

COUNT(kolon_adı) fonksiyonu, karşılaştırma değerine uyan kayıtların sayısını verir. Sonuç tam sayıdır. Alanı oluşturan veriler arasında boş (NULL) değerler varsa bunlar sayılmazlar.

CREATE TABLE satis (

satis_no    varchar2(10),

tarih       date(15),

tutar       number(15),

);

Satis_no    Tarih       Tutar
--------    ----------  ---------
10001       01/10/2001  10000000
10002       01/10/2001  15000000
10003       10/10/2001  5000000

SELECT SUM(tutar) “Satış Toplamı”

FROM satis

Satış Toplamı
-------------
30000000

SELECT MAX(tutar) “En büyük Satış”

FROM satis

En büyük Satış
--------------
15000000

SELECT MIN(tutar) “En küçük Satış”

FROM satis

En küçük Satış
--------------
5000000

SELECT AVG(tutar) “Ortalama Satış”

FROM satis

Ortalama Satış
--------------
10000000

SELECT count(*) “Satış Sayısı”

FROM satis

Satış Sayısı
------------
3

SELECT tarih,sum(tutar) “Toplam” ,count(*) “Adet”

FROM satis
GROUP BY tarih

Tarih       Toplam    Adet
----------  --------  ----
01/10/2001  25000000  2
10/10/2001  5000000   1

Kategori Oracle
About me

Sakarya Üniversitesi Bilgisayar Mühendisligini bitirdikten sonra kariyerime özel bir sirkette Danisman olarak devam etmekteyim.

Datawarehouse sistemlerin ve mimarilerin , dwh'a bakis açisini incelemek ve küçükte olsa bunlar hakkinda bilgi vermek amaciyla bu siteyi kurduk.Bunun yani sira diger sistemlere de dokunduk ve Türkçe makaleler paylastik.

Yazarlarimiz; Muhammet Ali Yurtçiçek, Ercan Yazgan, Samet Aslan,Ali Yildiz,Emin Sayan,Ömer Faruk Gül,Mustafa Aksoy,Burak Kutbay'dir.

 

Son Yazılar

Hangi Yazılım Dilini Kullanıyorsunuz








Sonuçlar
You are here