본문 바로가기

dev151

[DB/Oracle] 단일행 함수 - 문자 함수편 함수 설명 단일 행 함수 단일 행을 입력 받아 단일 행을 반환하는 함수 집계 함수 다중 행을 입력받아 단일 행을 반환하는 함수 분석 함수 다중 행을 입력받아 다중 행을 반환하는 함수 모델 함수 MODEL절에서 사용하는 함수 함수 설명 문자 함수 문자값을 조작하는 함수 숫자 함수 숫자 값을 조작하는 함수 날짜 함수 날짜 값을 조작하는 함수 변환 함수 값의 데이터 타입을 변환하는 함수 널 관련 함수 널을 조작하는 함수 비교 함수 값을 비교하는 함수 인코딩 디코딩 함수 값을 조사하거나 디코딩 하는 함수 환경 식별자 함수 인스턴스와 세션에 대한 정보를 제공하는 함수 계층 함수 계층 쿼리에서 사용하는 함수 컬렉션 함수 컬렉션 값을 조작하는 함수 xml 함수 xml 값을 조작하는 함수 JSON 함수 JSON 값을 .. 2022. 5. 21.
[DB/Oracle] CASE 표현식, 슈도 칼럼 , 바인드 변수 표현식 = 값으로 평가 될수 있는 리터럴, 연산자, SQL 함수 등의 조합이다. CASE 표현식 등가 비교식으로 deptno 의 값이 10일떄는 1을 , 20일때는 2를 그외의 숫자일 떄는 9를 나타내는 표현식이다. 검색 CASE 표현식 슈도 칼럼 : 테이블에 저장되지 않은 의사 칼럼으로, 쿼리 수행 시점에 값이 결정된다. 종류 - 일반 : ROWID, ROWNUM, ORA_ROWSCM - 계층 쿼리 : LEVEL, CONNECT_BY_ISLEAF< CONNECT)BY)ISCYCLE - 시퀀스 : CURRAL, NEXTVAL - 버전 쿼리 : VERSIONS_STARSCN, VERSIONS_STARTTIME 등... 바인드 변수(SQL PLUS 에서 가능 하며, SQL DEVELOPER 에서는 프로시저에.. 2022. 5. 21.
[DB/Oracle] SELECT 문자 리터럴(문자), 숫자 리터럴(숫자) 표현 SQL PLUS로 접속시 COL의 포맷을 정하여 표현 할 수 있다. 날짜 표기방법은 NLS 파라미터 설정에 따라 출력 포맷이 달라진다. 변경전 표현방법 변경후 표현방법 Oracle에서의 NULL 값은 빈문자 '' 와 동일하게 처리된다. 날짜의 산술 연산 일,월 * 날짜의 일 계산은 숫자로 + ( ) 해주면된다. * 월계산은 ADD_MONTHS( DATE, 숫자)를 통해서 수행되며, DATE 날짜에서 숫자만큼 증가 된다. 날짜간의 계산은 DATE - DATE 형식으로 진행하면된다. - 계산된 결과는 일로 표현된다. 2022. 5. 21.
[Spring] HTTP/ TOMCAT 전반적인 내용 만약 1대의 PC에 여러개의 서버를 가지고 있다면(Email Server, File Server, Web Server) 요청을 어떻게 받냐면 어떤 서버에 요청을 보내는지 확인하기위해 포트 번호를 적어 줘야 한다. 웨서버의 경우 :80 인데 80의 경우는 생략이 가능하다. 111.22.33.44:80 -> 111.22.33.44 로표현가능 클라이언트가 포트번호를 붙야줘야 하는데 그렇다면 서버는 이미 해당 포트번호와 binding 되어 있어야 하며, 서버는 Listening 상태로 기다리고 있다. 포트 번호는 0~1023 번까지 예약되어 있고 그 이상은 65535개의 포트를 사용 할 수 있다. Web Server : Web을 Service 한다. WAS란 : Web Application 을 Service 한.. 2022. 5. 20.
[Spring] HttpServletRequest, HttpServletResponse * interface 간의 상속은 extends * class 간의 상속도 extends, extends는 1개 밖에안되며, * class 가 interface를 상속할때는 implements를 사용한다. Spring 에서 HttpServletRequest, HttpServletResponse 두 객체는 클라이언트가 -> 서버로 요청하는 것과, (HttpServletRequest) 서버 -> 클라이언트에게 답변을 보내는 것을 활용할때 사용한다. HttpServletReqest를 통해서 얻을수있는 정보들은 많은것들이 있다. 사용자가 서버에게 "http://localhost:9090/ch2//requestInfo" 으로 요청을 했다고 생각하면, 아래와 같은 메서드들로 통해서 얻을수 있는 데이터들이 있다. 또.. 2022. 5. 19.
[DB/Oracle] TRIGGER * 바인드 입력 한번 찾아보기(찾음) 아래의 SQL 문을 보면 TRIGGER를 생성하는 쿼리문을 볼수 있다 첫줄부터 형식을 보면 CREATE [OR REPLACE[ TRIGGER 생성할_트리거_이름 [BEFORE/AFTER] [INSERT/UPDATE/DELETE] ON 테이블명 --> 트리거를 생설할때 트리거 이름을 만들고, 해당 트리거가 INSERT OR UPDATE OR DELETE 가 실행되기 BEFORE 전에 실행될것인가 AFTER 후에 실행될것인가를 정하고 ON 테이블명 --> 해당 테이블에서 [I/U/D]가 [AFTER/BEFORE] 할때 실행되는 트리거이다 REFERENCING NEW AS N OLD O --> 해당 트리거가 INSERT일떄는 NEW만 사용 가능하다 이것은 INSERT 시에 이전의 데이터는 존재 하지 않기 때문.. 2022. 4. 29.
[DB/Oracle] Procedure, Curosr , 사용자 정의 함수 Oracle 에서 Procedure를 실행 할때 ORACLE에서 출력 값을 확인 하기 위해서는 SET SERVEROUTPUT ON; 쿼리 수행의 결과로 패치된 튜플 수가 0개 이면 TRUE 선언한 프로시저 사용방법 프로시저의 매개변수가 없거나 // IN 매개 변수만 있을경우는 EXEC(=EXECUTE, CALL) 프로시저명 // EXEC(매개변수) 를통해서 실행 할 수 있습니다. 프로시저의 매개변수가 IN/OUT 모두 있을경우는 프로시저 안에서 사용할 수 있다. 아래를 보면 위에서 선언한 프로시저를 사용하고 있는데 GROUP_AVG()안에 IN,OUT 의 매개 변수가 들어가는데 IN 안에는 char의 변수를 넣어주고, OUT에는 FLOAT의 변수를 넣어준다. 이때 OUT은 해당 프로시저의 결과값을 받아야.. 2022. 4. 28.
[DB/Oracle] SQL 모음 테이블 생성(Create Table ) not null의 경우 속성을 정의 할때 같이 적어주며, 기본키, 유니크키, 외래키, 제한(Check) 의 경우 아래에 따로 적어줍니다. 외래키의 경우는 Foreign Key(컬럼명) references 테이블명(컬럼명) 으로 적어줍니다, 현재 테이블의 (컬럼명)은 참조합니다 어디 테이블의(컬럼을) check의 경우는 () 안에 조건을 사용해줍니다. 테이블 속성 추가 alter table (테이블 이름) add (추가할 속성) (추가할 속성의 타입) 뷰 생성(Create View) 뷰를 생성할 떄는 create view 뷰이름 as (가져올 속성들을 select 합니다) 이때 가져올 속성들 이름을 그대로 사용하고 싶지 않을 경우에는 뷰이름(원하는 속성명을 적어주면 .. 2022. 4. 28.
[Javscript] JS-JSON JSON이란 Javascript Object Notation의 줄임말으로, key : value 형태의 포맷으로 되어있다. JSON.stringify() 를 알아보자면 매개변수로 Javascript 객체를 넣으면, String 문자열로 return 되어 나온다. a 의 경우는 "강남": "gangnam" , "사과":"apple" 로 정의 되어 있고, b의경우는 이차원 배열인데 이것도 쉽게 생각하면 1:[1,2,3] , 2:[23,42,66], 3:[6,3,1] 로 생각할 수 있는것 같다. 따라서 배열도 JSON.stringify()를 통해서 문자열로 바꿀수 있다. 즉 JSON.stringify(Javascript 객체) 릍 통해서 문자열화 할수 있고 반대로 문자열화 된 Javascript 객체는 JSO.. 2022. 4. 4.
[Javascript] 2차원 배열 2048 게임 2048 게임이 무엇인지 모른다면 한번 검색해보고 직접 해보는걸 추천한다. 마우스가 움직이는 방향마다 4*4 판의 숫자가 모여지고 같은 숫자는 서로 더해지는 게임이다. 아래와 같은 모양의 4*4 판에 방향키가 움직일떄마다 왼쪽으로, 위로, 옆으로, 아래로 모아지면서, 같은 숫자가 만나면 더해지는 방식이다. 왼쪽,오른쪽으로 움직일 경우와, 위아래로 움직일 경우가 비슷한 방식으로 코드가 이루워지기 때문에 왼쪽과, 위로만 움직이는것을 보고 코드를 짜보자. 우선 코드먼저 보자면. 현재 data = [ [0,2,4,2], [0,0,8,0], [2,2,4,8], [0,16,0,4] ]; 2차원배열로 4*4 형식을 이루고있다. 글로 설명하자면 값을 표로 정리하자면 이런식으로 진행된다. 왼쪽으로 몰떄는 0을뺸 값을 n.. 2022. 4. 1.