본문 바로가기

DB18

!= 과 <> 의 차이와 ANSI SQL 회사에서 코드를 보면서 공부하는 중인데 xml문에 쓰인 ]]>를 보고서 의문이 생겼다. 그 전에 학원에서는 오라클DB를 사용했는데 != 나 NOT을 주로 사용했었기 때문이다. != 와 는 서로 어떤 차이가 있기에 CDATA까지 쓰면서 사용하는 것일까? 는 ANSI SQL에서 제시한 SQL-92 표준에 속하기 때문에 DBMS 모두에서 사용된다. !=도 대부분의 DBMS에서 지원하고 있으며 둘은 기능적으로는 동일하게 사용된다. 아래의 예시를 살펴보면 MySQL에선 두 가지를 동일하게 지원한다는 것을 알 수 있다. 하지만 !=의 경우 SQL Server 2000 및 이전 버전 IBM DB2 UDB 9.5, Microsoft Access 2010에서는 사용할 수 없다. 이렇게 둘의 차이를 알아보다가 ANSI S.. 2022. 11. 22.
오라클 : 집계함수 COUNT, SUM, AVG, MAX, MIN 집계함수 : 대상 데이터에서 특정 그룹으로 묶어 그 그룹에 대해 총합, 평균, 최댓값, 최솟값 등을 구하는 함수 1. COUNT : row의 건수 집계, 조건을 줘서 각 조건에 맞는 행의 갯수를 알아낼 때 많이 쓰인다. 페이지를 만들 때도 필요하다. SELECT COUNT(*) -- null 포함한 전체 row의 갯수 ,COUNT(ALL column명) -- defalut ALL = null을 포함하지 않는다. ,COUNT(column명) -- 위와 동일하다 ,COUNT(distinct column) -- 중복 제거 FROM 테이블명 ; 위의 규칙에 따라 employees 테이블을 조회해 보았다. SELECT COUNT(*) ,COUNT(ALL department_id) ,COUNT(department_.. 2022. 8. 19.
오라클 : 문자 변환함수 TO_CHAR TO_CHAR는 숫자나 날짜 등의 데이터를 문자로 바꿔주는 변환함수로 특정한 형식으로 출력 결과를 내고 싶을 때 많이 사용한다. 1. 날짜 데이터를 특정 형식으로 출력되게 하기 SELECT -- 연도만 나오게 to_char(SYSDATE, 'YYYY') --연도 월 일 시간 ,to_char(SYSDATE, 'YYYY MM DD HH:MI:SS') --연도-월-일 ,to_char(SYSDATE, 'YYYY-MM-DD') --연도월일 ,to_char(SYSDATE, 'YYMMDD') -- 날짜 ,to_char(SYSDATE, 'day') -- 요일을 1~7 중 숫자로 반환 ,to_char(SYSDATE, 'd') FROM dual; 위의 쿼리문은 아래와 같이 출력된다. 각각의 출력 결과를 보면 어떤 식으로 .. 2022. 8. 12.
오라클 : 글자를 자르거나 바꿔주는 함수 TRIM, SUBSTR, REPLACE 1. TRIM, LTRM, RTRIM - TRIM: 양쪽 공백 제거 - LTRM: 왼쪽 공백만 제거 - RTRIM: 오른쪽 공백만 제거 아래의 예시를 통해 살펴보자 SELECT LTRIM(' 안녕 하세요 '), RTRIM(' 안녕 하세요 '), TRIM(' 안녕 하세요 ') FROM dual; 이는 아래와 같은 결과로 출력된다. 회원가입을 할 때 공백이 있는 경우를 방지하기 위해서 많이 사용한다. 위의 결과처럼 글자 안에 있는 공백은 제거하지 않으니 주의할 것 2. SUBSTR - 사용법 : SUBSTR(문자열, 시작 번호, 길이) - 문자열에서 시작 번호부터 정해진 길이만큼 문자열을 자른 뒤에 반환한다. - 길이를 적지 않고 SUBSTR(문자열, 시작 번호)로 쓰면 시작 번호부터 나머지 모든 문자를 반.. 2022. 8. 10.
오라클 : 문자 함수로 대소문자 처리하기 : LOWER, UPPER, INITCAP 오라클에서 검색을 할 때 유용한 함수가 바로 LOWER, UPPER이다. 거기에 추가로 INITCAP까지 함께 알아보자. 1. INITCAP : 첫글자만 대문자로 만들어 주는 문자 함수 2. LOWER : 모두 소문자로 만들어 주는 문자 함수 3. UPPER : 모두 대문자로 만들어 주는 문자 함수 INITCAP, LOWER, UPPER는 아래와 같이 괄호 안에 글자를 넣어 사용할 수 있다. SELECT INITCAP('pangsu'), LOWER('PangSu'), UPPER('PangSu') FROM dual; INITCAP에는 소문자로만 이뤄진 글자 'pangsu'를 LOWER와 UPPER에는 대소문자가 섞인 글자 'PangSu'를 넣어주었는데 결과는 다음과 같다. 이처럼 값과 검색하려는 내용을 모.. 2022. 8. 9.