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

Oracle’da rakam(int.) olanları getir/getirme (!)

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

Selamlar,

Oracle’da kullandığınız sorgu içerisinde is null veya is not null gibi is not integer veya is integer nasıl yaparız ihtiyacı doğdu . Detaylı araştırmalar sonrasında iki yöntem ortaya çıktı sizin için uygun olanı kullabilirsiniz.

Select * from tablename 
where LENGTH(TRIM(TRANSLATE(X, ‘+-.0123456789’, ”))) is null

select  * from tablename  TRANSLATE(replace(A.CUSTOMER_ID,’0′,”),’0123456789′,’ ‘) IS NULL

faydalı olması dileği ile…

ORACLE/PLSQL: REPLACE

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

REPLACE(‘123123tech’, ‘123’);
Sonuç: ‘tech’

REPLACE(‘123tech123’, ‘123’);
Sonuç:‘tech’

REPLACE(‘222tech’, ‘2’, ‘3’);
Sonuç: ‘333tech’

REPLACE(‘0000123’, ‘0’);
Sonuç: ‘123’

REPLACE(‘0000123’, ‘0’, ‘ ‘);
Sonuç: ‘    123’

Toad auto Replace

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

Toad kullanımı sırasında, sql query yazarken çoğu zaman benzer select cümleleri yazıyoruz. Mesela, select * from xxx  cümlesi en sık kullanılan cümlelerden bir tanesidir. İşte bu select’leri her seferinde tamamını yazmak yerine ilk bir yada iki harf(isteğe bağlı) yazarak gerisini otomatik tamamlayabiliriz.

Bunun için, Toad’da View -> Toad Option tıklıyoruz. Açılan yeni pencerede, Editor -> Behavior tıklıyoruz. Burda, sağ tarafta Auto Replace butonu görünür. Oraya tıkladığızda karşımıza liste çıkıyor. Burda yeni bir tane ekleyerek mesela se için, “select * from”  tanımlayabilirsiniz.. işlemi bitirdikten sonra, denemek için, sql editörde  se yazıp tab veya space tuşuna bastığımız zaman select * from çıkar..

toad_replace

 

Örnek :

emrah ->Enter;

select /*+ parallel (4) full(c) full(h) full(k) use_hash(c t)*/ * from

REPLACE ve STUFF Fonksiyonları Nasıl Kullanılır

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

Replace Fonksiyonu:

Replace bir metin içinde geçen belirli bir paterne uyan tüm metin veya karakterleri, istenilen başka bir karakter veya metin ile değiştirir.

Örnek :

1
2
select REPLACE('Tazilim','T','Y')
-- Sonuç : Yazilim

Replace fonksiyonu büyük küçük harfe duyarlı değildir. Yani t veya T Replace için aynı karakterdir.

Replace ile bir karakteri başka bir karakter ile değiştirebildiğimiz gibi, bir karakteri bir metin ile veya bir metni bir karakter veya başka bir metin ile değiştirebiliriz.

Örnek:

1
2
3
4
5
select REPLACE('Yazilim','m','m Mutfagi')
-- Sonuç: Yazilim Mutfagi
Select REPLACE('Yazilim Mutfagi', 'Mutfagi','M')
-- Sonuç: Yazilim M

Stuff Fonksiyonu:

Stuff replaceden farklı olarak verilen bir metin içinde belirli bir indexden başlayarak belirli bir karakter uzunluktaki kısmı başka bir metin veya karakter ile değiştirmek için kullanılır.

Örnek :

1
2
3
4
5
select STUFF('Yazilim Güzeldir',7,1,' Mutfağı')
-- Sonuç: Yazili Mutfağı Güzeldir
Select STUFF('abcdefg',2,3,'ghjkl')
-- Sonuç: aghjklefg

Not:

Replace için :

  • Eğer replace fonksiyonunda kullanılan parametrelerden herhangi birisi nvarchar tipinde ise Replace nvarchar tipinde bir değer döndürür, Diğer durumlarda varchar değer döndürür.
  • Parametrelerden birisi NULL olursa dönüş değeride null olur.
  • Eğer değiştirilecek metin varchar(max) veya nvarchar(max) tiplerinden birisi değil ise, replace sonucunda dönücek değer en fazla 8000 karakter olur ve fazlası atılır. 8000 karakterden büyük bir metin döndürmek istiyorsanız, metni varchar(max) veya nvarchar(max)’a cast edin.

Stuff için :

  • Eğer başlangıç indexi yada uzunluk için verilen değer negatif ise veya başlangıç indexi metin uzunluğundan büyük ise NULL döner.
  • Eğer başlangıç değeri 0 ise yine NULL bir değer döner.