본문 바로가기

MS-SQL/Query45

[MSSQL] OPENQUERY와 파라미터를 대입하여 조회 -- 대입할 파라미터를 정의 DECLARE @PARAM1 NVARCHAR (4000) SET @PARAM1 = 'TEST' DECLARE @ORACLE_QUERY NVARCHAR(4000) SET @ORACLE_QUERY = 'SELECT Column1 FROM OPENQUERY(ORACLE_DB,''SELECT Column1 FROM DBNAME.ROUTING WHERE COLUMNNAME =''''' + @PARAM1 + ''''''')'; DECLARE @RESULT TABLE ( RESULT VARCHAR(40) ) INSERT @RESULT -- OPENQUERY 실행 EXEC (@ORACLE_QUERY ) SELECT * FROM @RESULT 2015. 3. 4.
[MSSQL] 간단하게 나누기 나머지 구하기 SELECT 2000%300 결과 : 200 -- 소수점 버리기 SELECT CONVERT(numeric(9),1999) /(CONVERT(NUMERIC(9),22)) 결과 : 90.8636363636 SELECT FLOOR (CONVERT(numeric(9),1999) /(CONVERT(NUMERIC(9),22))) 결과 : 90 -- 반올림 SELECT ROUND ( CONVERT(numeric(9),1999) /(CONVERT(NUMERIC(9),22)) ,0) 결과 : 91.0000000000 2015. 2. 3.
[MS-SQL] 여러개 열을 하나의 행으로 출력하는 간단한 예제입니다. 열을 하나의 행으로 구분자를 이용해 합치기 간단한 예제 DECLARE @CITYS NVARCHAR(20) WITH TEST_TABLE AS ( SELECT '서울' AS CITY UNION ALL SELECT '인천' AS CITY UNION ALL SELECT '경기' AS CITY UNION ALL SELECT '충남' AS CITY UNION ALL SELECT NULL AS CITY ) SELECT @CITYS = COALESCE(@CITYS+',','') + COALESCE(CITY,'') FROM TEST_TABLE SELECT @CITYS 2015. 1. 15.
[MS-SQL 2012] OFFSET-FETCH를 이용한 페이징 방법!! MS-SQL 2012버젼에서 지원되는 OFFSET-FETCH를 이용하여 페이징을 하는 예제를 간단히 만들어보았습니다. DECLARE @RowCount INT DECLARE @Page INT SET @RowCnt = 3 SET @Page = 5 DECLARE @StartRow Int --시작 로우 구하기 SET @StartRow = (@Page - 1 ) * @RowCount SELECT* FROM TEST_TABLE ORDER BY SEED OFFSET @StartRow ROWS FETCH NEXT @RowCount ROW ONLY 출처 : http://technet.microsoft.com/ko-kr/library/gg699618(v=sql.110).aspx 정렬된 결과 집합에서 첫 StartRow 만.. 2014. 12. 23.