프로그래밍 숲

SQL과 Oracle의 주요 문법 차이 본문

프로그래밍_인포/데이터베이스&SQL

SQL과 Oracle의 주요 문법 차이

jjscript 2023. 6. 4. 18:43
728x90
반응형

문자열 표현

SQL Server에서는 작은따옴표(')를 사용하여 문자열을 표현합니다. 예를 들어, 'Hello World'와 같이 작은따옴표로 감싼 문자열을 사용합니다. 반면에 Oracle에서는 작은따옴표 대신 큰따옴표(")를 사용합니다. 예를 들어, "Hello World"와 같이 큰따옴표로 감싼 문자열을 사용합니다. Oracle에서는 작은따옴표를 사용하려면 큰따옴표 안에서 이스케이프 문자로 처리해야 합니다.

NULL 값 처리

SQL Server에서는 NULL 값을 처리할 때 'IS NULL' 또는 'IS NOT NULL'을 사용합니다. 예를 들어, column_name IS NULL과 같이 사용합니다. Oracle에서는 NULL 값을 처리할 때 'IS NULL' 또는 'IS NOT NULL' 대신에 'IS NULL' 또는 'IS NOT NULL'을 사용합니다. 예를 들어, column_name IS NULL과 같이 사용합니다.

날짜 및 시간 형식

SQL Server와 Oracle은 날짜와 시간 값을 다른 형식으로 저장하고 표현합니다. SQL Server에서는 'YYYY-MM-DD' 형식을 사용하여 날짜를 표현하고, 'HH:MI:SS' 형식을 사용하여 시간을 표현합니다. Oracle에서는 'YYYY-MM-DD' 형식을 사용하여 날짜를 표현하고, 'HH24:MI:SS' 형식을 사용하여 시간을 표현합니다. 또한 Oracle에서는 TO_DATE 함수를 사용하여 문자열을 날짜로 변환할 수 있습니다.

TOP 또는 LIMIT 절

SQL Server에서는 TOP 절을 사용하여 쿼리 결과의 상위 N개의 행을 반환할 수 있습니다. 예를 들어, SELECT TOP 10 * FROM table_name과 같이 사용합니다. Oracle에서는 LIMIT 절을 사용하여 상위 N개의 행을 반환할 수 있습니다. 예를 들어, SELECT * FROM table_name LIMIT 10과 같이 사용합니다.

문자열 연결

SQL Server에서는 '+' 연산자를 사용하여 문자열을 연결합니다. 예를 들어, 'Hello' + 'World'와 같이 사용합니다. Oracle에서는 '||' 연산자를 사용하여 문자열을 연결합니다. 예를 들어, 'Hello' || 'World'와 같이 사용합니다.

기본값 설정

SQL Server에서는 ALTER TABLE 문을 사용하여 칼럼의 기본값을 변경할 수 있습니다. 예를 들어, ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_value과 같이 사용합니다. Oracle에서는 ALTER TABLE 문을 사용하여 칼럼의 기본값을 직접 변경할 수는 없습니다. 대신, 기존 칼럼을 삭제하고 새로운 칼럼을 추가하여 기본값을 지정해야 합니다.

칼럼 순서 변경

SQL Server에서는 ALTER TABLE 문의 ALTER COLUMN 절을 사용하여 칼럼의 순서를 변경할 수 있습니다. 예를 들어,

ALTER TABLE table_name ALTER COLUMN column_name1 INT, ALTER COLUMN column_name2 VARCHAR(50)

과 같이 사용합니다. Oracle에서는 ALTER TABLE 문으로 칼럼의 순서를 직접 변경할 수 없습니다. 대신, 기존 테이블을 백업하고 새로운 테이블을 생성하여 원하는 순서로 칼럼을 정의해야 합니다.

ALTER TABLE 문을 사용한 여러 개의 칼럼 동시 수정

SQL Server

SQL Server에서는 ALTER TABLE 문을 사용하여 여러 개의 칼럼을 동시에 수정할 수 있습니다.

ALTER TABLE table_name
ALTER COLUMN column1_name data_type,
ALTER COLUMN column2_name data_type,
ALTER COLUMN column3_name data_type;

Oracle

Oracle에서는 ALTER TABLE 문을 사용하여 여러 개의 칼럼을 동시에 수정하는 것이 지원되지 않습니다. 대신 각각의 칼럼에 대해 개별적인 ALTER COLUMN 문을 사용해야 합니다.

ALTER TABLE table_name
MODIFY (column1_name data_type,
        column2_name data_type,
        column3_name data_type);
728x90
반응형
Comments