Programming
![[오라클 데이터베이스] NULL 관련 함수 (NVL/NVL2/NULLIF)와 DECODE 함수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fs3C7S%2FbtqG6fJHTM9%2FAAAAAAAAAAAAAAAAAAAAANoiNdR3NhTpT_NNJMu7thj0Senj7IyApZIlsqTAQ7_X%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DIfzACLjwhwSmtnnUk3ZynmaT9GE%253D)
[오라클 데이터베이스] NULL 관련 함수 (NVL/NVL2/NULLIF)와 DECODE 함수
https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. 데이터베이스를 이용할 때 NULL로 인해 애를 먹는 상황이 가끔 발생한다. 이를 해결하기 위해 NULL 관련 함수를 알아보고 DECODE 함수를 알아보자. [ NVL(입력값, 대체값) ] - 반환 값이 NULL일 경우에 대체 값을 제공하는 함수이다. * SELECT NVL(AGE, 0) FROM MEMBERS; 나이를 조회하는데 해당 컬럼의 값이 NULL이라면 0으로 출력한다. [ NVL2(입력값, NOTNULL 대체값, NULL 대체값) 함수 ] - NVL에서 조건을 하나 더 확장한 함수이다. - NULL일 경우 대체값도 넣을 수 있고 NULL이 아닐 경우 대체 값도 넣을 수 있다. * SELECT NVL..
![[오라클 데이터베이스] 형식 변환 함수 (TO_DATE/TO_CHAR/TO_NUMBER/TO_TIMESTAMP)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FJcufW%2FbtqHbZ6H2rD%2FAAAAAAAAAAAAAAAAAAAAAOzWo6GC4aw1kOFUjDE9JOn0qn_bOyS-yEHOlc0_KSWP%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dg8IJ0YZLGU%252F7EmEQqDQmNkrkoow%253D)
[오라클 데이터베이스] 형식 변환 함수 (TO_DATE/TO_CHAR/TO_NUMBER/TO_TIMESTAMP)
https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. 숫자 / 문자열 / 날짜를 자유자재로 바꾸는 형식 변환 함수에 대해 알아보도록 하겠습니다. [ TO_CHAR(NUMBER) ] - NUMBER 형식을 문자열(VARCHAR2)로 변환하는 함수이다. * SELECT TO_CHAR(12345678, '$99,999,999,999.99') FROM DUAL; 두 번째 인자는 첫 번째 인자의 숫자보다 같거나 길어야 한다. 만약 더 길다면 나머지 부분에 공백이 생긴다. * SELECT TO_CHAR(12345678.345, '$99,999,999,999.99') FROM DUAL; '$12,345,678.35' 출력한다. 지정한 소숫점 자리가 2이므로 반올림돼서 출력..
![[오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbzilOr%2FbtqG5LoBhYn%2FAAAAAAAAAAAAAAAAAAAAAHxWbEDS5CLZImAt7R5n7ZACpJ3A1XO1ab5mqerLK2DM%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DDmB2ey8lkHPwtSHpXsVluEk40Sg%253D)
[오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)
https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. [ SYSDATE / CURRENT_DATE / SYSTIMESTAMP / CURRENT_TIMESTAMP ] SYS의 의미는 현재 오라클 서버가 설치되어 있는 곳의 시간을 의미한다. CURRENT는 세션에 대한 사용자를 기반으로 해서 세션에 설정된 시간대에 따른 날짜를 얻어다주는 함수를 의미한다. SYS와 CURRENT 모두 파라미터를 사용하지 않는다. 괄호가 없을 뿐 함수이다. * SELECT SYSDATE, CURRENT_DATE, SYSTIMESTAMP, CURRENT_TIMESTAMP FROM DUAL; SYSDATE은 오라클 서버의 시간대를 얻고 싶을 때 사용 날짜에 대한 시, 분, 초까지 얻을 ..
![[오라클 데이터베이스] 숫자 내장 함수 (ABS/SIGN/ROUND/TRUNC/MOD)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FkR63m%2FbtqG3kSurGj%2FAAAAAAAAAAAAAAAAAAAAAA1Mbc6jtFySmJqDB9yWKJip-4bpQT1sQjBimCt3sSBx%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DBjOXDDoeblbc1pk2eNLxsl89%252BzI%253D)
[오라클 데이터베이스] 숫자 내장 함수 (ABS/SIGN/ROUND/TRUNC/MOD)
https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. [ ABS(n) ] - 절대값을 구하는 함수이다. * SELECT ABS(35), ABS(-35) FROM DUAL; 35가 두 개 출력된다. [ SIGN(n) ] - 양수/음수를 알려주는 함수이다. - 양수이면 1, 음수이면 -1, 0이면 0을 출력한다. * SELECT SIGN(35), SIGN(-35), SIGN(0) FROM DUAL; 1, -1, 0이 차례대로 출력된다. [ ROUND(n, i) ] - 숫자의 반올림 값을 알려주는 함수이다. - 두 번째 인자를 지정하지 않으면 소수 첫 째 자리에서 반올림을 한다. - 두 번째 인자를 지정하면 설정한 인자 값이 반올림이 된다. * SELECT ROUN..
![[오라클 데이터베이스] 문자열 내장 함수 #2 (LPAD/RPAD/INITCAP/INSTR/LENGTH)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FSalWZ%2FbtqG4BNsjLd%2FAAAAAAAAAAAAAAAAAAAAALmJEirQid8YI0-ZVPLHWV2JOf6ZfpsiTdFPO26PMJi8%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DUi%252BZoqe5lb36%252FiIhuDKFwkZ5yFY%253D)
[오라클 데이터베이스] 문자열 내장 함수 #2 (LPAD/RPAD/INITCAP/INSTR/LENGTH)
https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. [ LPAD, RPAD ] - 문자열 패딩 함수이다. - 지정된 길이를 채워 문자열을 출력해야할 때, 길이가 맞지 않는 문자열은 다른 문자로 채워서 출력한다. - 한글은 바이트 단위이므로 영어를 사용할 때보다 길이를 곱하기 2를 해줘야 한다. * SELECT LPAD('HELLO', 5) FROM DUAL; 'HELLO'가 5글자이므로 'HELLO'만 출력 * SELECT LPAD('HELLO', 5, '0') FROM DUAL; 'HELLO'가 5글자이므로 'HELLO'만 출력 * SELECT LPAD('HELLO', 10, '0') FROM DUAL; 'HELLO'가 5글자이므로 '00000HELLO' ..
![[오라클 데이터베이스] 문자열 내장 함수 #1 (SUBSTR/CONCAT/TRIM/LOWER/UPPER/REPLACE/TRANSLATE)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FczQrf2%2FbtqG6gV8j2x%2FAAAAAAAAAAAAAAAAAAAAAOzq4y1nrmZu-HZ_dctK9x0mvty99_PzIThQ3cKX0EMF%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DuUOFAJGnACoaDDv6jOtg3o48pdQ%253D)
[오라클 데이터베이스] 문자열 내장 함수 #1 (SUBSTR/CONCAT/TRIM/LOWER/UPPER/REPLACE/TRANSLATE)
https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. 문자열 내장 함수에 대해 다뤄보겠습니다. [ SUBSTR ] - 문자열을 원하는 길이만큼 슬라이싱이 가능하다. * SELECT SUBSTR('HELLO', 3) FROM DUAL; 'HELLO'를 3번째 문자열부터 자른다. 'LLO' 출력 * SELECT SUBSTR('HELLO', 1, 3) FROM DUAL; 'HELLO'를 1번째부터 3개만 자른다. 'HEL' 출력 * SELECT SUBSTRB('HELLO', 3) FROM DUAL; SUBSTRB의 B는 byte를 의미한다. 3번째 바이트부터 자른다. 영어는 문자 하나당 1바이트이고 3번째 바이트부터 자르므로 'LLO' 출력 EX1) 모든 학생의 이..
![[데이터베이스] DML, DDL, DCL이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbcqmTt%2FbtqG67YHacG%2FAAAAAAAAAAAAAAAAAAAAANQQb1SbIQrLMKxvUoMFylyD3msv5lr1oO-ZZRajLsVx%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DfM1ksSSRLDhGBKIJ3SwrE8lfb2s%253D)
[데이터베이스] DML, DDL, DCL이란?
데이터베이스에서는 모든 작업을 SQL문을 이용해 작업한다. SQL문은 다루는 객체나 용도에 따라 그룹핑하여 나눌 수 있다. 종류로는 DDL, DML, DCL이 있다. [ DDL (Data Definition Language) ] - 데이터 정의어 데이터베이스를 정의하는 언어를 말하며 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 역할의 언어를 말한다. * CREATE 데이터 베이스, 테이블 등을 생성하는 역할을 한다. * ALTER 테이블을 수정하는 역할을 한다. * DROP 데이터베이스, 테이블을 삭제하는 역할을 한다. * TRUNCATE 테이블을 초기화 시키는 역할을 한다. [ DML (Data Manipulation Language) ] - 데이터 조작어 정의된 데이터베이스에 입..
[JSP] JSP Beans(빈즈)에 대해 알아보자
빈즈(Beans)는 특정한 일을 독립적으로 수행하는 컴포넌트를 의미한다. 컴포넌트는 하나의 부품이라고 생각하면 쉽다. JSP빈즈는 JSP와 연동하려고 만들어진 컴포넌트 클래스를 말한다. JSP 빈즈는 컨테이너에 위치하며, JSP에 데이터베이스 연동 등 프로그램적 요소를 모듈화할 수 있도록 도와주는 역할을 한다. 따라서 가능하면 JSP 코드 내에 스크립트릿을 사용하는 것보다는 빈즈를 만들어 사용하는 것이 좋다. [ 빈즈 클래스 구조 ] 기본적으로 빈즈 클래스는 자바 클래스이므로, 자바 클래스 구성을 따른다. 다만 JSP 액션과 연동하기 위해 필요한 몇 가지 필수 구성의 차이가 있을 뿐이다. 하지만 이는 문법적인 제약이 아니기 때문에 규칙을 따르지 않더라도 컴파일 오류가 발생하지는 않는다. 다만 일반적인 매..
![[JSP] 표현언어(Expression Language)란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbiyXcF%2FbtqyWm3B4AF%2FAAAAAAAAAAAAAAAAAAAAAGGEXEe4ZIbJBI7M8VvzGefgA24PuWu3NWDCuh6DB-ff%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DAGAmGLyeepyKXpP%252FR3thhVDKO7Q%253D)
[JSP] 표현언어(Expression Language)란?
표현언어(Expression Language)는 간단한 방법으로 데이터를 표현하려고 고안된 언어인 SPEL(Simplest Possible Expression Language)에 기본을 두고 있다. 기존에 JSP의 데이터를 표현할 때 스크립트릿()이나 표현식() 혹은 를 사용했다. 그런데 스크립트릿이나 표현식은 페이지 내에서 객체 선언 부분이 따로 들어가야 하고, 의 경우에도 과 함께 사용해야 하며 단순 출력 이외의 표현은 안된다는 문제가 있었다. 표현 언어는 이러한 문제를 해결하려고 만들어진 기술로, 빈즈 속성 값을 더욱 쉽고 제약을 덜 받는 방법으로 사용할 수 있도록 해준다. 표현 언어를 사용하면 코드가 복잡해지는 것을 줄일 수 있고 JSP를 일종의 템플릿 코드처럼 사용할 수 있다. request.s..
(Servlet/JSP) setCharacterEncoding, setContentType 정리
JSP와 서블릿 공부를 하면서 항상 헷갈렸던 내용이 있다. request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8"); 이번 포스팅에서는 위 세 개의 문장을 알아보겠습니다. request.setCharacterEncoding("UTF-8") 우리가 어떤 .jsp파일이나 .html파일에서 폼 태그에 입력한 값을 전송한다고 가정하겠습니다. 폼 태그에서 입력한 값을 전송할 때는 GET방식과 POST방식으로 나뉘는데 POST방식으로 보내는 값이 '한글'일 경우 깨지지 않게 전달하기 위해 사용하는 것이 request.setCharacterE..