오라클에서 행을 열로 바꾸기 위해서는 다양한 방법이 있다. 그룹별로 집계된 데이터의 행을 열로 바꾸기 위해서는 PIVOT, DECODE 또는 CASE를 사용하며, 여러 행의 문자열을 합쳐서 하나의 열로 바꾸기 위해서는 LISTAGG 함수를 사용하면 된다. 아래의 예제를 참고하면 쉽게 이해할 수 있을 것이다. 목차 PIVOT 함수를 사용하여 행을 열로 변환 DECODE, CASE 표현식을 사용하여 행을 열로 변환 LISTAGG 함수를 사용하여 행을 열로 변환 PIVOT 함수를 사용하여 행을 열로 변환 SELECT deptno , p_president , p_analyst , p_manager , p_salesman , p_clerk FROM ( SELECT deptno , job , sal FROM emp..
오라클에서 나눈 값의 몫과 나머지를 구하기 위해서는 TRUNC 함수와 MOD 함수를 사용하면 된다. TRUNC 함수를 사용하여 나눈 값의 소수점 이하의 값을 절사하고 몫을 구할 수 있으며, MOD 함수를 사용하여 나머지 값을 구할 수 있다. FLOOR 함수를 사용하여 몫을 구할 수 있지만 나눈 값이 음수인 경우 의도하지 값이 반환될 수 있으니 주의해야 한다. 목차 몫, 나머지 구하는 방법 (MOD, TRUNC) 몫 구할 때 주의할 점 (TRUNC, FLOOR) 몫, 나머지 구하는 방법 (MOD, TRUNC) SELECT 10 / 3 , TRUNC(10 / 3) , MOD(10, 3) FROM dual 몫 : TRUNC("나눈 값") 나머지: MOD("피제수", "제수") 나눈 값에서 TRUNC 함수를 사..
오라클에서 문자열의 공백을 제거하기 위해서는 TRIM 함수를 사용한다. TRIM 함수 외에도 LTRIM 함수를 사용하여 왼쪽 공백을 제거할 수 있고, RTRIM 함수를 사용하여 오른쪽 공백을 제거할 수 있다. 문자열에 포함된 모든 공백을 제거하기 위해서는 REPLACE 함수를 사용하면 된다. 목차 공백 제거 방법 (TRIM, LTRIM, RTRIM) 모든 공백 제거 방법 (REPLACE) 왼쪽, 오른쪽 특정 문자 제거 방법 (LTRIM, RTRIM) 공백 제거 방법 (TRIM, LTRIM, RTRIM) SELECT TRIM(' Oracle Database ') AS "TRIM" , LTRIM(' Oracle Database ') AS "LTRIM" , RTRIM(' Oracle Database ') AS..
SQL Server에서 소수점 이하의 값을 절사(버림)를 하기 위해서는 FLOOR 함수를 사용하면 된다. 다른 시스템의 TRUNC, FIX 함수와 비슷한 기능을 수행한다고 생각하면 된다. FLOOR 함수는 입력된 값보다 작거나 큰 최대 정수를 반환하는 함수이며, 이 기능을 활용하여 소수점을 절사 하기 때문에 정확히 이해하고 사용하는 것이 좋다. 목차 소수점 절사, 버림 방법 (FLOOR 함수) 소수점을 절사 하는 다양한 방법 FLOOR 함수를 사용 시 주의사항 소수점 절사, 버림 방법 (FLOOR 함수) SELECT FLOOR(123.567) FLOOR 함수를 사용하여 소수점 이하의 값을 절사(버림)를 할 수 있다. FLOOR 함수는 입력된 값보다 작거나 같은 최대 정수를 반환한다. 입력된 값이 양수인 ..
SQL Server에서 소수점을 반올림하기 위해서는 ROUND 함수를 사용하며, 소수점을 올림 하기 위해서는 CEILING 함수를 사용한다. ROUND 함수를 사용할 때 주의할 점은 소수점 자릿수 항목을 생략하고 사용하면 오류가 발생하기 때문에 소수점 모두 반올림할 경우 소수점 자릿수에 '0'을 입력해야 오류가 발생하지 않는다. 목차 소수점 반올림 방법 (ROUND 함수) 소수점 올림 방법 (CEILING 함수) 소수점 반올림 방법 (ROUND 함수) SELECT ROUND(123.567, 0) , ROUND(123.567, 1) , ROUND(123.567, 2) ROUND('수치값', '반올림 자릿수') 소수점 이하에서 해당 자릿수 까지 5 이상의 값을 반올림한다. ROUND 함수를 사용할 때 ROU..
SQL Server에서 문자열을 치환하기 위해서는 REPLACE 함수를 자주 사용한다. 그러나 문자열의 특정 영역을 치환 또는 마스킹 킹 처리를 할 때는 STUFF 함수를 사용하면 조금 더 편리하게 할 수 있다. 또한 여러 개의 문자를 다중치환할 때는 TRANSLATE 함수를 사용하면 쿼리문을 조금 더 짧고 명료하게 작성할 수 있다. 목차 문자열 치환 방법 3가지 REPLACE 함수를 사용하여 문자열 치환 방법 STUFF 함수를 사용하여 문자열 치환 방법 TRANSLATE 함수를 사용하여 문자열 치환 방법 문자열 치환 방법 3가지 SELECT REPlACE('MSSQL', 'S', 'X') , STUFF('MSSQL', 2, 2, 'XX') , TRANSLATE('MSSQL', 'S', 'X') 위의 예..
SQL Server에서 문자열을 대문자 또는 소문자로 변환하기 위해서는 UPPER, LOWER 함수를 사용한다. UPPER(문자열) 함수를 사용하면 대문자로 변환되고, LOWER(문자열) 함수를 사용하면 소문자로 변환된다. SQL Server에서는 첫 문자만 대문자로 변환하는 INITCAP 함수는 지원하지 않는다. SSMS 툴의 대문자, 소문자 변환 단축키는 아래를 참고하면 된다. 목차 대문자, 소문자 변환 방법 (단축키 포함) 특정 칼럼의 값을 대문자, 소문자로 변환 대문자, 소문자 구분 없이 LIKE 검색 방법 대문자, 소문자 변환 방법 SELECT UPPER('SQL Server 2022') , LOWER('SQL Server 2022') UPPER 함수를 사용하면 대문자로 변환되고, LOWER 함..
SQL Server에서 문자열이 날짜 형식인지 체크할 때는 ISDATE 함수를 사용하면 된다. 날짜인 경우 '1'을 반환하고, 날짜가 아닌 경우 '0'을 반환한다. ISDATE 함수는 CASE 연산자나 WHERE 절에서 ISDATE(칼럼) = 1로 사용하면 된다. 허용되는 날짜 형식이 여러 가지 있기 때문에 아래의 예제를 참고하면 된다. 목차 날짜 형식 체크 방법 정확한 날짜 형식 부정확한 날짜 형식 ISDATE 함수 활용 문자열을 날짜로 변환 시 TRY 함수 사용 날짜 형식 체크 방법 SELECT ISDATE('2022-12-13') , ISDATE('2022-12-32') , ISDATE('2022년12월13일') ISDATE 함수는 문자열이 날짜 형식인 경우 '1'을 반환하고, 날짜 형식이 아닐 경..
SQL Server에서 문자열이 숫자 형식인지 체크하기 위해서는 ISNUMERIC 함수를 사용한다. 숫자인 경우 '1'을 반환하고 숫자가 아닌 경우 '0'을 반환한다. ISNUMERIC 함수는 조건절에서 ISNUMERIC(칼럼) = 1로 사용하면 된다. 수치 값에서 사용하는 특수 문자는 숫자로 인식하므로 아래를 예제를 참고하면 된다. 목차 숫자인지 체크 방법 양수, 음수 및 통화 기호가 있을 경우 소수점과 천 단위 구분자가 있을 경우 ISNUMERIC 함수 활용 문자열을 숫자로 변환 시 TRY 함수 사용 숫자인지 체크 방법 SELECT ISNUMERIC('1234') , ISNUMERIC('a123') , ISNUMERIC('abcd') ISNUMERIC 함수는 문자열이 숫자인 경우 '1'을 반환하고 숫..
오라클에서 아우터 조인 시 BETWEEN 연산자를 사용해야 할 경우가 있다. 일반적인 아우터 조인과 상황이 조금 틀리기 때문에 당황할 수 있지만 조인 방법을 큰 차이가 없다. BETWEEN 연사자를 사용할 경우 오라클 Outer Join과 ANSI Outer Join 방법은 아래의 예제를 참고하면 쉽게 이해할 수 있을 것이다. 목차 오라클 Outer Join을 사용하는 방법 ANSI Outer Join을 사용하는 방법 오라클 Outer Join을 사용하는 방법 WITH employees AS ( SELECT 101 AS employee_id, 'Neena' AS first_name, 'Kochhar' AS last_name, TO_DATE('2005-09-21', 'YYYY-MM-DD') AS hire_..