728x90
반응형
안녕하세요
회사에서 데이터베이스를 오라클과 MS-SQL 모두 사용하다 보니,
오라클과 MS-SQL 쿼리 문법이 다른 것들이 있어 정리해 보았습니다.
1. 문자열 자르기
- 전체 문자열에서 지정한 길이 만큼의 문자열을 조회
오라클 | MS-SQL |
SUBSTR | SUBSTRING |
--오라클
SELECT SUBSTR('주말아 빨리와라',1,2)
FROM DUAL
--결과 : 주말
--MSSQL
SELECT SUBSTRING('주말아 빨리와라',1,2)
--결과 : 주말
2. 문자 합치기
- 두개의 문자를 합칠 때 사용
- 오라클은 || 또는 CONCAT 두 가지 모두 사용할 수 있습니다.
오라클 | MS-SQL |
|| 또는 CONCAT | + |
--오라클1
SELECT '도레미' || '파솔라'
FROM DUAL
--오라클2
SELECT CONCAT('도레미','파솔라') FROM DUAL
--MSSQL
SELECT '도레미' + '파솔라'
--결과 : 도레미파솔라
3. NULL값 처리
- 조회하려는 컬럼의 값이 NULL일 경우 대체 값을 표시
오라클 | MS-SQL |
NVL | ISNULL |
--오라클
SELECT NVL(NAME, '기본')
FROM TEST_TABLE
--MS-SQL
SELECT ISNULL(NAME, '기본')
FROM TEST_TABLE
4. 문자열 형변환(숫자형 --> 문자형)
- 숫자를 문자형으로 변환 할 때 사용합니다.
오라클 | MS-SQL |
TO_CHAR | CONVERT |
--오라클
--조회 결과는 차이가 없어 보이나, INT 숫자 형이 VARCHAR로 변환 됨
SELECT TO_CHAR(2521)
FROM DUAL
--MSSQL
SELECT CONVERT(VARCHAR(3), 2521)
5. 문자열 형 변환(문자형--> 숫자형)
- 문자형을 숫자형으로 변환할 때 사용합니다.
오라클 | MS-SQL |
TO_NUMBER | CONVERT |
--오라클
--조회 결과는 차이가 없어 보이나, VARCHAR 문자형이 INT 숫자형으로 변환 됨
SELECT TO_NUMBER('2521')
FROM DUAL
--MSSQL
SELECT CONVERT(INT, '2521')
6. 글자 수 확인
- 조회하고자 하는 문자의 글자 수를 확인할 때 사용합니다.
오라클 | MS-SQL |
LENGTH | LEN |
-- 오라클
select LENGTH('도레미파솔')
FROM DUAL
--MSSQL
SELECT LEN('도레미파솔')
--결과 : 5
7. 현재 시간 조회
- DB에서 현재 시간을 조회할 때 사용합니다.
- 년, 월, 일 / 시, 분, 초까지 조회됩니다.
오라클 | MS-SQL |
SYSDATE | GETDATE() |
-- 오라클
SELECT SYSDATE
FROM DUAL
--결과 : 2022-04-29 17:30:21
-- MSSQL
SELECT GETDATE()
--결과 : 2022-04-29 17:30:21.417
7. 일자 계산하기(일자 더하기/빼기)
- 현재 조회하는 일자의 특정 일자를 더하거나 뺄 수 있습니다.
오라클 | MS-SQL |
+ / - | DATEADD |
--오라클(하루 더하고 빼기)
SELECT SYSDATE +1
FROM DAUL
SELECT SYSDATE -1
FROM DAUL
--MSSQL(하루 더하고 빼기)
SELECT DATEADD(d,1,GETDATE())
SELECT DATEADD(D,-1,GETDATE())
7. 조회 한 일자의 특정(년, 월, 일) 조회 하기
- 조회한 일자에서 녀, 월, 일자만 따로 조회할 수 있습니다.
오라클 | MS-SQL |
TO_CHAR | DATENAME |
--오라클
SELECT TO_CHAR(TO_DATE('2022/04/29'),'DD')
FROM DUAL
-- 결과 : 29
SELECT TO_CHAR(TO_DATE('2022/04/29'),'MM')
FROM DUAL
--결과 : 04
SELECT TO_CHAR(TO_DATE('2022/04/29'),'YYYY')
FROM DUAL
--결과 : 2022
--MSSQL
SELECT DATENAME(day, '2022-04-29')
-- 결과 : 29
SELECT DATENAME(month,'2022-04-29')
-- 결과 : 40
SELECT DATENAME(year, '2022-04-29')
-- 결과 : 2022
오라클과 MS-SQL의 문법 차이를 정리해 보았습니다.
728x90
반응형
'소소한 ORACLE 지식' 카테고리의 다른 글
[오라클]Oracle 숫자 함수 (10) | 2022.05.14 |
---|---|
[오라클]Oracle 문자 함수 (5) | 2022.05.13 |
[TOAD]Toad 에서 프로시저 내 쿼리 실행 하기 (18) | 2022.04.22 |
[TOAD]Toad for oracle 15.1 토드 사용법 - 오라클 DB Export DataSet 데이터 내보내기 (0) | 2022.04.11 |
[TOAD]Toad for Oracle 15.1 토드 사용 방법 - 폰트 변경 (0) | 2022.04.07 |
댓글