2008年6月15日 星期日

一些不錯用的SQL技巧

一些不錯用的SQL技巧:

A.判斷資料存在時修改,不存在時新增
if EXISTS(SELECT * FROM JOBS WHERE JOB_DESC='AAA')
UPDATE JOBS SET JOB_DESC='TEST' WHERE JOB_DESC='AAA'
ELSE
INSERT INTO JOBS(JOB_DESC,MAX_LVL,MIN_LVL) VALUES('AAA',70,90)

B.批次新增資料(從資料表B新增資料到資料表A)
INSERT INTO JOBS(JOB_DESC,MAX_LVL,MIN_LVL)
SELECT JOB_DESC,MAX_LVL,MIN_LVL FROM JOBS WHERE MIN_LVL=25

C.複製資料表資料及結構並自動建立TARGET_TABLENAME(將SOURCE_TABLENAME之資料結構複製至TARGET_TABLENAME)
SELECT * INTO TARGET_TABLENAME FROM SOURCE_TABLENAME WHERE CONDITION

D.取出系統日與資料日期之差異天數(資料日期格式為字串:YYYYMMDD)
DATEDIFF(DAY, CAST(S.DATE AS DATETIME), GETDATE())

持續更新中.....

沒有留言: