Category: Sql


Oracle-ing Myself – Lesson 2 Özeti

March 11th, 2009 — 1:40pm
SELECT  upper(substr(FIRST_NAME,0,1)) ||'. '|| initcap(LAST_NAME) AS "Özel Ad",
        concat(FIRST_NAME,LAST_NAME), 
        length(LAST_NAME),
        lower(LAST_NAME),        
        instr(LAST_NAME,'s'),
        lpad(SALARY, 6,'0'),
        rpad(EMAIL, 10,'-'),
        REPLACE(LAST_NAME,'i',' I '),
        trim('K' FROM LAST_NAME)
FROM EMPLOYEES
WHERE upper(last_name) = Upper('KiNg')
  OR substr(JOB_ID,4)='PROG';
 
SELECT substr('SERDAR',1,3)
FROM DUAL;
 
SELECT round(45.926,2), round(45.926,-1), round(155.926,-2), 
           round(43.926,-1), round(45.926)
FROM DUAL;
 
SELECT trunc(45.926, 2), trunc(45.926), trunc(45.926,-1)
FROM DUAL;
 
SELECT SALARY, mod(salary,1000), round(salary*1.18)
FROM EMPLOYEES;
 
SELECT sysdate+7,sysdate
FROM DUAL;
 
SELECT HIRE_DATE,round(sysdate-HIRE_DATE) AS GUNSAYISI,
                  round((sysdate-HIRE_DATE)/7) AS HAFTA
FROM EMPLOYEES
ORDER BY GUNSAYISI;
 
SELECT months_between(sysdate, HIRE_DATE), 
        add_months(HIRE_DATE,5),
        next_day(HIRE_DATE,'monday'),
        last_day(sysdate)    
FROM EMPLOYEES;
 
 
SELECT round(sysdate,'month'),
       round(sysdate,'year'),
        trunc(sysdate,'month'),
        trunc(sysdate,'year') 
FROM DUAL;
 
 
ALTER session SET nls_date_format ='DD-MM-YYYY HH24:MI:SS';
ALTER system SET nls_date_format ='DD-MM-YYYY HH24:MI:SS';
 
SELECT to_char(sysdate,'FMDAY - MONTH - YEAR'),to_char(sysdate,'DAY-MONTH-YEAR')
FROM dual;
 
SELECT to_char(salary,'$99,999.99')
FROM employees;
 
SELECT sysdate,lower(to_char(sysdate,'fmddspth - month - year')) 
FROM dual;
 
SELECT last_name, to_char(hire_date,'dd - Mon - yyyy')
FROM employees
WHERE hire_date < to_date('01-Jan-90','dd-mon-rr');
 
SELECT nvl(to_char(commission_pct),'Komisyon Almıyor'), 
        nvl2(commission_pct,'Komisyon Alıyor','Komisyon Almıyor'),
        nullif(length(last_name),length(first_name)) AS dif,
        coalesce(to_char(commission_pct),to_char(manager_id),'bişey yok')        
FROM employees;
 
SELECT last_name, job_id,
  case job_id when 'IT_PROG' then 1.10*salary
              when 'ST_CLERK' then 1.15*salary
  else salary
  end "CASEDEN DONEN SALARY", department_id
FROM employees;
 
SELECT last_name, job_id,
  decode(job_id,'IT_PROG',1.10*salary,
                'ST_CLERK',1.15*salary,
  salary)
  REVISED_SALARY
FROM employees;

Comment » | Sql

Oracle-ing Myself – Lesson 1 Özeti

March 11th, 2009 — 6:38am

hr user login olamaması sorununu user’ı alter ederek çözebiliriz.

cmd > sqlplus / as sysdba
alter user hr identified by hr account unlock;
exit;
lsnrctl start

sqlplus hr/hr

bağlı bulunduğumuz şemadaki tabloları göster
select * from tab
select * from user_tables

tablonun kolon bilgilerini getirmek
describe employees;
desc employees;

Oracle/PLSQL’de, NVL fonksiyonu null olan bir değeri başka bir değerle değiştirebilmemizi sağlar.
NVL( string1, replace_with )

NVL(COMMISSION_PCT,0) COMMISSION_PCT null ise 0 getir

Concat Operatorü: || ya da concat( string1, string2 ), string birleştirme
alias operatörü : as, kolon adını yeniden verme
q’['in maaşı]‘ : kullanılamayan karakterleri kullanabilmek için

SELECT EMPLOYEES.FIRST_NAME || ' ' || EMPLOYEES.LAST_NAME || q'['IN maaşı]' 
        as ADSOYAD, EMPLOYEES.SALARY as MAAS, 
        NVL(EMPLOYEES.COMMISSION_PCT,0) as KOMISYON,
        (SALARY*12)+(SALARY*12*NVL(EMPLOYEES.COMMISSION_PCT,0)) 
        as YILLIKMAAS, EMPLOYEES.DEPARTMENT_ID as DEPARTMAN
FROM EMPLOYEES
WHERE EMPLOYEES.DEPARTMENT_ID = 90
        and EMPLOYEES.LAST_NAME = 'King'
        and EMPLOYEES.SALARY between 2000 and 25000
        or EMPLOYEES.LAST_NAME between 'Abel' and 'Austin'
        or EMPLOYEES.LAST_NAME like 'B%l_'
        and EMPLOYEES.COMMISSION_PCT is null
        and EMPLOYEES.DEPARTMENT_ID in (90,50)
        and EMPLOYEES.DEPARTMENT_ID not in (80)
        and EMPLOYEES.JOB_ID not in ('IT_PROG','AD_ASST')
ORDER BY MAAS desc

çift amp. (&&) kullanırsak aynı addaki iki parametreyi tekrar girme zahmetinden kurtuluyoruz
(performansa biraz katkısı var)

DEFINE kriter = 'King'
 
SELECT &&kolonadi
FROM &tabloadi
WHERE last_name = '&kriter'
ORDER BY &kolonadi

Comment » | Sql

Get Table and Column Names From SQL Server

December 17th, 2008 — 5:33pm

you can get table names from sql server with a simple query

–table names
SELECT * FROM sys.objects WHERE type = ‘U’

–column names
SELECT * FROM sys.columns
WHERE OBJECT_NAME(sys.columns.OBJECT_ID) = ‘tblTableName’

2 comments » | Sql

Sql Server Profiler’da LoginName Filtrelemek

November 18th, 2008 — 1:28pm

Malümunuz Sql Server Profiler ya da kısaca profiler, veritabanımıza yapılan sorguları görebileceğimiz bir araçtır.

Bu sorguları bağlanan kullanıcılar bazında filtreleyebilirirz.

Bu ayarı isterseniz daha ilk açılışta ya da daha sonradan properties(özellikler) kısmından belirleyebiliyoruz.

Önce Events Selection sekmesinden, Column Filters (sağ alttaki) düğmesine basıyoruz.

Açılan edit filter ekranında soldaki list box’dan LoginName‘i seçip sağdaki değerlerden Like‘a tıklayıp filtrelemek istediğiniz kullanıcı adını yazın.

Son olarak da Ok ve Run a basıyoruz. Artık sadece görmek istediğimiz Kullanıcının scriptlerini inceleyebiliriz.

sql-login-name-filter

Comment » | Sql

Page 2 of 212

Back to top