[Oracle] Where 절

  • 비교 연산자
    • =,>,<,≥,≤,≠,^=,<>
  • 기타 비교 연산자
    • BETWEEN AND ( ~ 사이에 있는)
    • LIKE (일치하는 문자 패턴 검색)
    • IS NULL (NULL 값 여부)
    • IN (값 리스트 중 일치하는 값 검색)
-- 특정 조건으로 검색
SELECT [컬럼명...]
	FROM [테이블명]
	WHERE [컬럼명] [연산자 - =,<,>] [데이터 값]
	
-- BETWEEN AND (범위에 있는 값 검사)
SELECT [컬럼명...]
	FROM [테이블명]
	WHERE [컬럼명] BETWEEN [데이터] AND [데이터]
	-- 같은 원리
  WHERE [컬럼명] >= [데이터]
		AND [컬럼명] <= [데이터] 

-- BETWEEN AND (범위에 있는 다른 값 검사)
SELECT [컬럼명...]
	FROM [테이블명]
	WHERE [컬럼명] NOT BETWEEN [데이터] AND [데이터]

-- IN (리스트 중에 일치하는 값 검색)
SELECT [컬럼명...]
	FROM [테이블명]
	WHERE [컬럼명] IN [데이터(조건1, 조건2, 조건3...) or SubQuery(동적 처리)]

조건문 ( WHERE절 배우기 – 2)

-- 문자열 조건 검색
SELECT [컬럼명...]
	FROM [테이블명]
	WHERE [컬럼명]='문자'

-- 날짜 조건 검색 (현재 접속한 세션의 날짜 형식에 맞춰서 작성 - 나라마다 형식이 다름)
SELECT [컬럼명...]
	FROM [테이블명]
	WHERE [컬럼명]='RR/MM/DD'

-- 현재 접속한 세션의 날짜 형식 조회
SELECT *
	FROM NLS_SESSION_PARAMETERS
	WHERE PARAMETER = 'NLS_DATE_FORMAT';
-- RR 년도, MM은 달, DD는 일

-- SESSION 날짜 형식 변경
ALTER SESSION SET NLS_SESSTION_FORMAT='YY/MM/DD';
  • ALTER SESSION SET 명령어는 현재 내가 접속한 세션의 파라미터를 변경하는 명령어이다.
    • 세션이란 데이터베이스 유저로 로그인해서 로그아웃할 때까지의 한 단위를 말한다.
    • NLS_DATE_FORMAT은 현재 세션에서만 유요한 파라미터다. 그러므로 로그아웃했다가 접속하면 기본값으로 초기화되어 진다.
  • 날짜 표기 형식
    • YY 와 RR의 차이 RR은 현재 세기를 기준으로 인식해서 1981년도, YY는 81년도를 현재 세기의 연도로 인식해서 2081년도로 인식을 한다.
형식정의형식정의
YYYY연도 4자리HH24시간 (0~24)
YY or RR연도 2자리MI분 (0~59)
MM달의 2자리값SS초 (0~59)
MON달의 영문 약어WW연의 주
DD숫자 형식의 일IWISO 표준에 따른 년의 주
DAY요일W월의 주
DY요일 약어YEAR영어 철자로 표기된 년도
D요일의 숫자MONTH영어 철자로 표기된 달