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

Page 3 of 41234

Back to top