SQL sorgu sayfasında herhangi bir boşluk alandayken Ctrl+Space bastığımız zaman Orkestra bize o noktada yazılabilecek muhtemel komutları getirir.
Burada istediğimiz gibi matematiksel ya da Excel den hatırladığımız başlıca fonksiyon komutlarını yazabiliriz.
Burada bunların hepsini değil ama belli başlı birkaç tane komutun kullanımını kısaca anlatacağız.
Komut İsmi | Örnek Kullanımı | Açıklaması |
avg | avg yas as YAS_ORTALAMA | group by ile gruplama varsa, ilgili verilerin yaş değerlerinin ortalamasını alır. Burada “yas” değişkenlerinin aritmetik ortalaması hesaplanacaktır. |
cos sin tan |
cos(açi_deger) as COS sin(açi_deger) as SIN tan(açi_deger) as TAN |
Bunlar trigonometrik fonksiyonlar olup, ilgili açının karşılık trigonometrik değerini verir. |
count | count(cari.reference) as FIRMA_SAY | group by ile gruplama yapıldığı zaman, o gruplama özelliğine sahip kaç veri olduğunu sayısal olarak verir. Burada oluşturulma zamanlarına göre gruplanmış bir sorgu için farklı zamanlara göre gruplanan verilerin sayısını verir. |
count distinct | count(distinct cari.reference) as FIRMA_SAY | Aynı kaydın birden fazla gelmesi durumunda sadece farklı olan kayıtların sayısını verir. |
max min |
max(kisi.maas) as EN_YUKSEK_MAAS min(kisi.maas) as EN_DUSUK_MAAS |
group by ile gruplama yapılan bir tabloda en yüksek ya da en düşük maaşı getirir. |
round | round(satir.vat.vatAmount,2) | Bir değerin istenilen hassasiyetle ondalık hassasiyetine yuvarlar. Burada, satırdaki KDV miktarının hassasiyetini düşürerek, virgülden sonra 2 basamak olacak şekilde gösterir. |
sum | sum(urun.totalOnHand) as ELDEKI_URUN |
Toplam komutudur. Sayısal değerleri toplar. |
abs | abs() |
Verilen değerin mutlak değerini döndürür. |
mod | mod(15,7) |
Girilen değerlerin mod unu gösterir. Verilen örnekte 15 sayısının 7 ye bölümünden kalan 1 değerini döndürür. |
sqrt | sqrt() |
Verilen sayının karekökünü döndürür. |
cast | Veri tipini değiştirir. | Detaylı bilgi için tıklayın. |
METİN KOMUTLARI
Komut İsmi | Örnek Kullanımı | Açıklaması |
coalesce | coalesce(urun.priceList, urun.priceDefault) as FIYAT | Verilen değerlerden NULL olmayanı döndürür. Burada “Liste Satış Fiyatı” var ise onu yoksa Varsayılan Fiyatı döndürür. |
concat | concat('EK_',stok.reference) as EK_NO | Verilen metinleri birleştirir. İşlem sonunda hücrede “EK_846” gibi bir değer gösterir. |
length | length(cari.description) as UZUNLUK | Cari Firmanın açıklama kısmının kaç karakterden oluştuğunu tamsayı olarak bize verir. |
slist | slist(amortisman.calcMethod) as HESAPLAMA_YONTEMI | Index değerlerinin karşılığını verir. case komutuyla her bir integer değerinin karşılığını yazmak zorunda kalmazsınız. |
tostring | tostring(cari) as CARI_HESAP | tostring komutuyla sorgunun çıktısında Cari Hesap varsa açıklama yoksa kodu yazdırılır. |
substring | substring(v.voucherNo,1,5) | Metin içerisinden alt metin oluşturur. Örnekte Fiş Numarasını 1. karakterden başlayarak 5 karakteri döndürür. |
trim | trim(party.description) | İlgili alandaki metnin başında ve sonunda olan boşlukları temizler. |
nullif | nullif(v.voucherNo,v.docNumber) | Verilen iki değer aynı ise NULL, değil ise ilk değeri döndürür, |
cast | Veri tipini değiştirir. | Detaylı bilgi için tıklayın. |
TARİH KOMUTLARI
Komut İsmi | Örnek Kullanımı | Açıklaması |
day month year |
day(cari.creationTime) as GUN month(cari.creationTime) as AY year(cari.creationTime) as YIL |
Verinin oluşturulma zamanının gününü, ayını ya da yılını sayı olarak veren komuttur. Sorgu sonucunda 28, 6 ya da 2018 gibi veriler görünür. |
hour minute second |
hour(cari.creationTime) as SAAT minute(cari.creationTime) as DAKIKA second(cari.creationTime) as SANIYE |
İlgili Cari Firmaların oluşturulma zamanlarını saat, dakika, saniye olarak bize verir. Sonuç tamsayı olarak gelir. |
week | week(v.voucherTime) | Verilen DateTime değerinin hafta bilgisini döndürür. |
dayofweek | dayofweek(v.voucherTime) | Verilen DateTime değerinin hafta günü bilgisini döndürür. |
dayofyear | dayofyear(v.voucherTime) | Verilen DateTime değerinin yıl günü bilgisini döndürür. |
date_format() | date_format(vouchertime, '%Y-%M') as YIL_AY date_format(daterangebegin(0, 'day'), '(%Y) %d.%m') as TARIH |
date_format() fonksiyonunun birkaç farklı kullanımı vardır. date_format(vouchertime, '%Y-%M') as YİL_AY kullanımının çıktısında vouchertime YIL-AY(2021-10) şeklinde gösterir. Aynı formatı AY_GUN şeklinde de uyarlayabiliriz. Bir diğer örnek kullanım şeklinde ise date_format(daterangebegin(0, 'day'), '(%Y) %d.%m') as YİL fonksiyonun çıktısı ise (2021) 25.10 şekilndedir. |
date_range() | daterange(vouchertime, -1, 'month') daterange(vouchertime, 0, 'year') |
voucherTime değerinin belirli bir tarihin içerisinde olup olmadığını döndürür. 1. örnekte voucherTime bir önceki aydan daha eskiyse "-1" yeniyse "0" döndürür. 2. örnekte voucherTime bilgisi bir önceki yıla aitse "-1" bu yıl ve sonrasına aitse "0" döndürür. |
daterangeend() | daterangeend(-12, 'month') | Bu komut verilen tarihin sonunu çağırır. Örnekte bu günü 12 ay geriye öteler. 12 ay öncesinde ayın son günü saat 23:50:999 u döndürür. |
daterangebegin() | daterangebegin(0, 'year') as Yıl_Başlangıcı | daterangebegin fonksiyonunun birkaç kullanım şekli vardır. Bu fonksiyonla şu an bulunduğumuz yılın başlangıcını daterangebegin(0, 'year'), bir önceki yılın başlangıcı daterangebegin(-1,'year') veya bir sonraki yılın başlangıcını daterangebegin(+1,'year') gösterebiliriz. |
dateoffset() | dateoffset(-1, 'year') as Gecen_Yıl_Sonu | dateoffset fonksiyonunun kullanımı da daterangebegin ile benzerdir. Tek fark dateoffset fonksiyonu tarihi bir yıl önceki bugüne öteler. Bu fonksiyonun sorgu içerisinde 2021-10-25 tarihini sorguluyor ise bu fonksiyonun denk geldiği sütun 2020-10-25 olarak görülür. |
quarter | quarter(SiparisFisi.SiparisTarihi) as Siparis_Tarihi | Verilen DateTime değerinin ilgili çeyrek tarihini döndürür. Sorgu önizlemesinde çeyrek zamanı görmek istersek buradaki gibi kullanabiliriz. Bu komutun çıktısında ay olarak OCAK-ŞUBAT-MART 1, NİSAN-MAYIS-HAZİRAN 2, TEMMUZ-AĞUSTOS-EYLÜL 3, EKİM-KASIM-ARALIK ayları ise 4 olarak karşımıza gelir. |
cast | Veri tipini değiştirir. | Detaylı bilgi için tıklayın. |
group by komutunun kullanılması ise sonraki konumuzdur.