Emrah AÇIKGÖZ'ün Kişisel Sahifesi.

Oracle’da Mesai Saati/Günü Ayrımı Nasıl yapılır?

  • 3 sene önce, Emrah tarafından yazılmıştır.
  • 0 Yorum
  • Oracle

Yazdığımız sorgularda çoğunlukla ihtiyacımız olan mesai saati içi dışı ve mesai günü ayrımını kullanırken aşağıdaki kod buloğunu kullanıyorum, sizlerden gelen orjinal bir kod bulağu olursa değiştirmeye hazırım:) ;

select * from TABLE_NAME

WHERE
TO_CHAR(C.START_DT,’DAY’) IN (‘PAZARTESI’,’SALI      ‘,’ÇARŞAMBA ‘,’PERŞEMBE ‘,’CUMA     ‘)
AND SUBSTR(C.START_TM,1,2) BETWEEN 09 AND 17

PL Sql’de function oluşturma/çağırma

  • 4 sene önce, Emrah tarafından yazılmıştır.
  • 0 Yorum
  • Oracle

Küçük  bir örnek;

Oluşturma Şekli;

create or replace function emrah (i_id in number)
return number
is
l_salary number;
begin
select salary into _salary from salary where per_id=i_id;
return l_salary;
end;

Çağırma şekli;

select e.*,emrah(e.id) salary from employess e

Plsql String Fonksiyonlar

  • 4 sene önce, Emrah tarafından yazılmıştır.
  • 0 Yorum
  • Oracle

Sqlde en sık kullanılan string fonksiyonlarını aşağıda örneklerle açıklamaya çalıştım..Umarım faydalı olur..

UPPER:
Verilen Stringi büyük harflerle yazar.
SELECT UPPER(‘Upper Fonksiyonunun çıktısı’) FROM DUAL;
UPPER FONKSIYONUNUN ÇIKTISI
LOWER:
Verilen Stringi küçük harflerle yazar.
SELECT LOWER(‘Lower Fonksiyonunun çıktısı’) FROM DUAL;
lower fonksiyonunun çıktısı
INITCAP:
verilen stringin her kelimesinin büyük harfle yazar.
SELECT INITCAP(‘initcap fonksiyonunun çıktısı’) FROM DUAL;
Initcap Fonksiyonunun Çıktısı
TO_CHAR:
Verilen sayıyı ya da tarihi STRING olarak döndürür.
SELECT TO_CHAR(SYSDATE,’DD MM YYYY’) FROM dual;
SELECT TO_CHAR(12345) FROM dual;
CONCAT:
İki stringi birleştirir.
SELECT CONCAT(‘Ömer ‘, ‘Acar’) FROM DUAL;
Ya da || işareti ile yapabiliriz.
SELECT ‘Ömer ‘||’Acar’ FROM DUAL;

LENGTH:
Verilen stringin karakter uzunlugunu bulur.
SELECT LENGTH(‘kaç karakter’) FROM DUAL;
12
LPAD:
Verilen stringin soldan n hane olacak şekilde x karakteri ekler.(25 karakter olana kadar)
SELECT LPAD(‘Ömer acar’, 25, ‘X’) FROM DUAL;
XXXXXXXXXXXXXXXXÖmer acar
RPAD:
Verilen stringin soldan n hane olacak şekilde x karakteri ekler.(25 karakter olana kadar)
SELECT RPAD(‘Ömer Acar’, 25, ‘X’) FROM DUAL;
Ömer AcarXXXXXXXXXXXXXXXX
TRIM:
Stringin başında ve sonundaki boşlukları keser.
SELECT TRIM( ‘ Trim fonksiyonu ‘) FROM dual;
Trim fonksiyonu
LTRIM:
Stringin solundaki boşlukları keser.
SELECT LTRIM( ‘ LTrim fonksiyonu ‘) FROM dual;
LTrim fonksiyonu
RTRIM:
Stringin sağındaki boşlukları keser.
SELECT RTRIM( ‘ RTrim fonksiyonu ‘) FROM dual;
RTrim fonksiyonu
REVERSE:
verilen stringi tersten yazar.
SELECT REVERSE(‘Reverse Fonksiyonu’) FROM DUAL;
unoyisknoF esreveR
SOUNDEX:
Verilen stringin fonetik benzerliğini temel alır.
SELECT * FROM TEST WHERE SOUNDEX(namecol) = SOUNDEX(‘CAR’);
— car sesine benzer kayıtlar..
DUMP:
Verilen stringin byte ve ascii özelliklerini verir.
SELECT DUMP(‘ABab’) FROM dual;
Typ=96 Len=4: 65,66,97,98

NVL:
Verilen STRING ya da kolon değeri boşsa yeni değer atamak için kullanılır.
SELECT NVL(”,’X’) FROM dual;
SELECT f.TABLE_NAME,f.CLUSTER_NAME,
NVL(f.CLUSTER_NAME,’CLUSTER YOK’) CLUSTER_DURUMU
FROM USER_TABLES f;

DECODE:
DECODE(deger,a,b,x,y,z) şeklinde kullanılır,
yani değer a ise b,x ise y,bunların dışında ise z yaz demektir…

(Devamını Oku)

Oracle’da SUBSTR içinde INSTR kullanmak…

  • 4 sene önce, Emrah tarafından yazılmıştır.
  • 0 Yorum
  • Oracle

Sizlerde isim soy isim arasında olan boşluğu kullanarak sadece ismi almak istiyorsanız aşağıdaki örnekteki sorguyu kullanabilirsiniz;

select SUBSTR(isim_soyisim,0,INSTR(A.isim_soyisim,’  ‘)-1)AS SON  from emrah.isim A

substr_instr

 

 

 

 

 

Faydalı olması dileği ile…