substr 3

문자열 함수 LOWER,UPPER, PAD, INSTR. 2021-07-30

우선 그나마 실용적으로 쓰이는 함수는 LOWER과 UPPER이다. 일단 칼럼 제한 조건부분에서는 칼럼명은 소문자로 쓰든 대문자로 쓰든 오라클에서는 대/소 문자를 구별하지 않지만, WHERE 절 뒤 ROW를 제한하는 조건을 쓸떄 비교연산자 '=' 을 쓰는 경우에는 문자 리터럴로 대/소문자를 구별한다. 이떄 대/소 문자 가리지않고 ROW를 제한하는 방법에 이것을 쓴다. 예를 들면, 이렇게 HUN이라는 이름속에는 대/소문자가 혼재되어 있을경우 구별없이 출력하고자한다면 어떤 쿼리를 써야 할까? select name||id as "이름(회사명)" from member where UPPER(name)='HUN'; 이렇게 해당 칼럼을 아예 대문자로 다 바꾼뒤에 비교연산자 '='를 통해 비교하면 된다. 그다음 많이쓰는..

Programming/SQL 2021.07.30

ROWNUM을 이용한 페이징 출력, 중복제거 distinct 키워드, 문자열 자르기 SUBSTR 함수. 2021-07-29

우선 페이징 이라 함은, 한번에 테이블 중 몇개씩 끊어서 나열하는 것인지 기준에 따라 정렬시키는 방법이다. 이런 페이징을 하기 위해서는 테이블을 특정 기준에 따라 나눌수 있어야 한다. 그런데 일반적으로 생성한 테이블들을 보면 어떤 추가된 순서에 따라 숫자를 부여하는 칼럼을 사용자가 만들어놓지 않은 이상 그런 순차적으로 뚜렷하게 나눌수 있는 기준이 되는 칼럼을 찾기 어렵다. 예를 들면 저번에 내가 만들어놓은 이런 칼럼에서, 기준으로 잡을 것이 안보일 것이다. 이때 순차적으로 페이징할수 있는 기준을 만드는 것이 바로 ROWNUM을 이용하는 것이다. 바로 위 사진의 제일 왼쪽에 1 부터 4까지 붙여진 것이 있는데 이것은 오라클에서 자체적으로 select 문을 통해 결과집합을 생성하면서(where절 단계에서) ..

Programming/SQL 2021.07.29

오라클 내장 함수중 문자열 함수. 2021-07-01

오늘 내가 처음 인지한 내용은 SELECT 문에서 '행' 을 선별할지, '열'을 선별할지 구분하는 것이다. SELECT PHONE AS p, NAME FROM MEMEBER WHERE ID LIKE 'ab%'; 여기서 FROM 절 앞에 오는 것은 '열(COLUMN)' 의 선별이고 WHERE 절 뒤에 오는 조건은 어떤 '행(ROW)'을 선별하는 조건이다. 그런데 내장함수는 FROM 절 앞에서 자주 쓰이며, '칼럼' 을 선별하기 위해서 쓰인다. 물론, WHERE 절뒤 조건절에 행(ROW)를 선별하기 위햇 쓰일 수는 있지만, 만약 테이블이 수만개 되면 모든 행을 조건에 맞는지, 검사할때마다, 함수를 호출해야 하기 떄문에 CPU에 부담이 될수 있어서 가급적, 행을 선별할때는 LIKE, REGEXP_LIKE, O..

Programming/SQL 2021.07.01