내장함수
-- 숫자 함수 -- 값 , 근사치 select ABS(-1); select ABS(8-9); select CEILING(-9.5), CEILING(9.2); --매개변수와 가까운 큰 정수 출력 select FLOOR(-9.5), FLOOR(9.2); -- 매개변수와 가까운 작은 정수 출력 select POWER(2,3); -- 2에 3승을 출력 select RAND() * 1000; -- 0 과 1 사이의 난수 발생 select ROUND(RAND() * 100,0); select ROUND(3.141592, 1),round(3.141592,2),round(3.141592, 3); --(실수 , 소수점반올림자리수) select ROUND(173.141592,0),round(173.141592,-1),r..
2015. 7. 28.
세로를 가로로 출력하기
SELECT AA.ACCTUNIT_CD, AA.ACCT_CTG_CD , ISNULL(MAX(Case ROWNUMBER When 1 Then AA.MNG_ITEM_CD end),'') MNG_ITEM_CD_1, ISNULL(MAX(Case ROWNUMBER When 2 Then AA.MNG_ITEM_CD end),'') MNG_ITEM_CD_2, ISNULL(MAX(Case ROWNUMBER When 3 Then AA.MNG_ITEM_CD end),'') MNG_ITEM_CD_3, ISNULL(MAX(Case ROWNUMBER When 4 Then AA.MNG_ITEM_CD end),'') MNG_ITEM_CD_4, ISNULL(MAX(Case ROWNUMBER When 5 Then AA.MNG_ITEM_..
2015. 7. 28.
누계 샘플
WITH CTE (PAY_DT, DEPO_CLS_CD,PAY_YM ,DETL_CTG_CD, PAY_CHR_CD,PAY_AMT ,SUMM) AS( SELECT A.PAY_DT AS PAY_DT ,dbo. FN_FA_GET_CODE_NM('6016' ,MAX( B.DEPO_CLS_CD )) AS DEPO_CLS_CD , MAX (LEFT(B. PAY_YM,4 )) AS PAY_YM , dbo.FN_FA_GET_DETL_CTG_NM (A. ACCTUNIT_CD,MAX (B. ACCT_CTG_CD),MAX (B. DETL_CTG_CD)) AS DETL_CTG_CD , dbo .FN_FA_GET_ORG_NM( MAX(B .PAY_CHR_CD)) AS PAY_CHR_CD , SUM (B. PAY_AMT) AS PA..
2015. 7. 28.
Merge Using(데이터 인서트 할 때 테이블에 있는지 비교)
단일 업데이트및 수정MERGE INTO dbo.TBTable AS A USING ( SELECT @a AS a ,@b AS b ,@c AS c ,@d AS d ) B ON A.a = B.a WHEN MATCHED AND @SaveFlag = 'D' THEN DELETE WHEN MATCHED AND @SaveFlag = 'U' THEN UPDATE SET a = @b , a = @b WHEN NOT MATCHED THEN INSERT (a, c, b, d) VALUES (@a, @c, @b, @d) ; 일괄 업데이트및 수정 MERGE INTO dbo.TABLE T USING( SELECT aa ,ss ,dd ,gg FROM TABLE ) S ON T.gg = S.gg WHEN MATCHED THEN UP..
2015. 7. 27.
마이그레이션 관련 쿼리 예
DateTime이 아닌 String으로 들어가 있는 데이터를 DateTime로 변환 할 때 예)날짜시간(20120720153559)->DateTime(2013-10-01 17:03:20.987) update TBL_PLACE set INPUT_DATE = convert(datetime, substring(INPUT_DT, 1, 4) + '-' + substring(INPUT_DT, 5, 2) + '-' + substring(INPUT_DT, 7, 2) + ' ' + substring(INPUT_DT, 9, 2) + ':' + substring(INPUT_DT, 11, 2) + ':' + substring(INPUT_DT, 13, 2)) , CHANGE_DATE = convert(datetime, subs..
2015. 7. 27.
[SELECT] 함수등을 이용한 데이터 조회
SELECT --시작일부터 지금까지 경과일 구하기, DATEDIFF(DD, HIRE_DT, GETDATE()) WORKING_DAY --금액(숫자)데이터에 콤마찍기, REPLACE(CONVERT(VARCHAR(50), CAST(20000 AS MONEY), 1) , '.00', '') --문자인지 숫자인지 판단해야될 때SELECT ISNUMERIC('sdfs') --문자인지, 숫자인지 판단 문자는 0SELECT ISNUMERIC('1111') --문자인지, 숫자인지 판단 숫자는 1을 반환한다.
2015. 7. 27.