게으른 완벽주의자의 개발자 도전기
DataBase 주요 함수 정리 본문
절대값(ABS)
SELECT -10, ABS(-10)
FROM DUAL;
소수점 이하 버림(FLOOR), 반올림(ROUND , 몇번째 자리까지 표시할 것인지)
SELECT 12.345, FLOOR(12.345), ROUND(12.345), ROUND(12.345, 2)
FROM DUAL;
나머지 값
SELECT MOD(10, 3)
FROM DUAL;
모두 대문자(UPPER), 모두 소문자(LOWER), 앞글자만 대문자(INITCAP)
SELECT 'WELCOME ORACLE'
, UPPER('welcome oracle')
, LOWER('WELCOME ORACLE')
, INITCAP('WELCOME ORACLE')
FROM DUAL;
게시판에서 제목에 java라는 글자가 들어간 게시글의 모든 정보 조회
단, 대소문자 구분없이 조회하라
SELECT *
FROM BOARD
WHERE UPPER(TITLE) LIKE UPPER('%java%');
LENGTH(글자수) LENGTHB (BYTE 수)
SELECT LENGTH('안녕하세요'), LENGTHB('안녕하세요')
FROM DUAL;
글자공간 10개를 만드는데 남은 공간은 #으로 메꿔줘(꽤 쓴다)
LPAD(왼쪽) RPAD(오른쪽)
SELECT LPAD('JAVA', 10, '#'), RPAD('JAVA', 10, '#')
FROM DUAL;
SUBSTR() 문자열 자르기(문자열, 몇번째 글자부터 자르겠다, 3번째글자부터 6개 자르겠다(빈칸도 문자로 취급)
SELECT SUBSTR('welcome oracle', 3), SUBSTR('welcome oracle', 3, 6)
FROM DUAL;
형 변환 NUMBER, VARCHAR2(), DATE
문자를 숫자로 변환 -> TO_NUMBER()
숫자를 문자로 변환 -> TO_CHAR()
날짜를 문자로 변환 -> TO_CHAR()
문자를 날짜로 변환 -> TO_DATE()
숫자를 문자로(잘 안씀)
SELECT 10, TO_CHAR(10)
FROM DUAL;
날짜를 문자로(많이 씀)
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD')
, TO_CHAR(SYSDATE,'YYYY.MM.DD')
, TO_CHAR(SYSDATE, 'MM')
, TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')
, TO_DATE('20220803')
FROM DUAL;
SELECT BOARD_NUM
, TITLE
, WRITER
, TO_CHAR(CREATE_DATE, 'YYYY-MM-DD')
FROM BOARD;
입사일이 2003년 09월 2일부터 입사한 사원들의 모든 정보 조회
SELECT *
FROM EMP
WHERE HIREDATE >= TO_DATE('20030902');
★둘 다 날짜로 자료형을 맞추어 결과 도출해야 한다!
3월에 입사한 모든 사원의 정보를 조회
SELECT *
FROM EMP
WHERE TO_CHAR(HIREDATE, 'MM') = '03';
'SQL' 카테고리의 다른 글
ITEM_CODE(ITEM_001)쿼리로 만들기(LPAD, TO_NUMBER, SUBSTR, MAX, NVL, || 활용하기) (0) | 2022.08.13 |
---|---|
오라클SQL Developer실행안됨 (windows를 복원하는 중) (0) | 2022.08.06 |
DataBase기초수업(AS, COUNT, NVL, BETWEEN, 문자열 연결(||), IN, 오름차순, 내림차순, 와일드카드) (0) | 2022.08.02 |
Data Base 기초 수업(게시글 번호 부여, 게시글 날짜 부여) (0) | 2022.07.30 |
DataBase 기초수업 (select, delete, update, 테이블 생성) (0) | 2022.07.30 |