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

SQL WITH KULLANIMI (WITH USAGE IN SQL)

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

Selamlar,

Daha önce iki tabloyu birleştirmek için join çeşitlerini bu yazı dizisinde anlatmıştım.
şimdi ise birleştirmek istediğim veya sanal olarak iki tabloyu birleştirmek istediğimde kullandığımız with yapısından bahsedeceğiz. Özetle: iç içe sorgularda, aynı sorgunun tekrar tekrar yazılmasını ortadan kaldırmak amacımız ve oluşturduğumuz tablo, localde tutulmaktadır.

Mantığı ;

WITH <alias_name> AS (sql_subquery_statement)
SELECT column_list FROM <alias_name>[,tablename]
[WHERE <join_condition>]
When using multiple subquery aliases, the sysntax is as follows.
WITH <alias_name_A> AS (sql_subquery_statement)
<alias_name_B> AS(sql_subquery_statement_from_alias_name_A or sql_subquery_statement )
SELECT <column_list>
FROM <alias_name_A>, <alias_name_B>, [tablenames]
[WHERE <join_condition>]

Örnek;
WITH emrah AS (SELECT deptno, bdate,yas, meslek FROM emrah)
SELECT *FROM emrah WHERE yas=’20’
UNION ALL
SELECT * FROM emrah WHERE meslek like ‘AD%’;

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’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