작년 말부터 미각이 조금씩 이상해지더니 올해 초에는 짠맛과 단맛을 거의 느끼지 못하는 상태까지 되었다. 미각을 느끼지 못한다고 해서 사회생활을 못하는 것은 아니지만 삶의 즐거운 하나를 잃어버리기 때문에 그에 따른 우울감이 찾아온다. 미각상실에 대한 인터넷을 검색중 영양소가 부족하면 미각에 손상이 온다는 내용을 찾았다. 미각에 큰 영향을 주는 영양소는 아연과 비타민A이다. 병원 진료를 보고 치료를 받는 것이 빠른 방법이겠지만, 일단 인터넷에서 글루콘산 아연과 비타민A를 구매하여 점심 먹고 아연과 비타민A를 한 알씩을 매일 먹었다. 일주일이 지나도 큰 변화가 느껴지지 않았지만 한 달에 지나면서부터는 미각이 조금씩 돌아오기 시작해서, 현재는 90% 이상 회복된 느낌이며 생활하는 데는 큰 지장이 없고 아연은 매..
오라클에서 이전 행의 값을 찾거나 다음 행의 값을 찾기 위해서는 LAG, LEAD 함수를 사용하면 된다. LAG(expr [,offset] [,default]) OVER([partition_by_clause] order_by_clause) LEAD(expr [,offset] [,default]) OVER([partition_by_clause] order_by_clause) LAG 함수 : 이전 행의 값을 리턴 LEAD 함수 : 다음 행의 값을 리턴 expr : 대상 컬럼명 offset : 값을 가져올 행의 위치 기본값은 1, 생략가능 default : 값이 없을 경우 기본값, 생략가능 partition_by_clause : 그룹 컬럼명, 생략가능 order_by_clause : 정렬 컬럼명, 필수 기본 ..
오라클의 쿼리 결과에서 첫번째 행의 값을 가져올때는 FIRST_VALUE 함수를 사용하고, 마지막 행의 값을 가져올때는 LAST_VALUE 함수를 사용하면 된다. FIRST_VALUE, LAST_VALUE는 오라클에서만 지원하는 함수이기 때문에 타 DB에서는 사용할 수 없다. 기본적인 사용법 SELECT ename , job , sal , FIRST_VALUE(sal) OVER() AS sal_first , LAST_VALUE(sal) OVER() AS sal_last FROM emp WHERE job in ('MANAGER', 'ANALYST') 쿼리 결과의 첫번째 행의 급여(sal) 값과 마지막 행의 급여(sal)의 값을 표시한다. ORDER BY, PARTITION BY 사용 SELECT ename..
Oracle SQL Developer 쿼리툴에서 PROCEDURE의 CURSOR를 출력하기 위해서는 REFCURSOR 변수를 선언하여 프로시저의 인자에 할당하면 된다. VAR rc REFCURSOR EXEC PC_TEST('10', :rc) PRINT rc 스크립트 실행(F5)으로 프로시저를 실행하면 커서의 결과가 출력된다
오라클에서 PIVOT을 사용하다보면 IN절에 동적으로 값을 할당하고 싶을때가 있다. 그러나 PIVOT의 IN절은 SQL의 IN절과 다르다. PIVOT의 IN절은 할당된 값의 개수와 순서를 맞춰서 결과가 출력된다. 일반적인 쿼리문의 PIVOT은 IN절에 동적으로 값을 할당 할 수 없지만, PIVOT XML 또는 Dynamic SQL을 활용하여 동적 PIVOT을 구현 할 수 있다. 일반적인 PIVOT 쿼리 SELECT * FROM (SELECT job , deptno , sal FROM emp ) PIVOT ( SUM(sal) FOR deptno IN ('10', '20', '30', '40') ) ORDER BY job PIVOT 쿼리는 IN절 ('10', '20', '30', '40')의 값과 순서에 따..
오라클에서 날짜별로 건수를 집계하면 존재하는 날짜만 조회되고 존재하지 않는 날짜는 표시되지 않는다. 상황에 따라서 건수가 존재하는 않는 날짜도 "0"으로 조회 되어야 할 상황이 있다. 가상의 날짜뷰를 만들어서 아우터 조인을 하면 해당 날짜가 데이터에 존재하지 않는 날짜도 표시가 가능하다. 필요에 따라서 이런 케이스가 많다면 물리적인 테이블을 생성해 놓고 사용하는 방법도 있다. 일반적인 일별 통계 (존재하는 일자만 표시) SELECT TO_CHAR(hiredate, 'YYYY-MM-DD') AS hiredate , COUNT(*) FROM emp WHERE hiredate BETWEEN TO_DATE('1981-02-01', 'YYYY-MM-DD') AND TO_DATE('1981-02-28', 'YYYY..
TextBox 컨트롤의 라인을 For문을 사용하여 출력하는 방법이다. TextBox.Lines 프로퍼티를 사용하여 텍스트박스의 줄을 배열로 가져와서 사용할 수 있다. for(int i = 0; i < textBox1.Lines.Length; i++) { string str = textBox1.Lines[i]; MessageBox.Show(str); }
2020년 8월 IT 세미나/컨퍼런스 일정 8월 2일(일) FITT 피트 인사이드 2020 강연 : 스마트 헬스케어 & 피트니스 트렌드와 테크놀로지 12:00~17:30 코엑스 | 유료 8월 7일(금) [8월 1차] NAVER CLOUD PLATFORM Hands-on Lab 10:00~17:00 강남N타워 8월 13일(목) [게임 클래스] 8월 게임 클래스 세미나 ‘인게임 데이터 분석 특집’ 17:00~19:00 강남N타워 8월 13일(목) Seoul VR AR EXPO 8월13일~15일 코엑스 8월 25일(화) [8월 2차] NAVER CLOUD PLATFORM Hands-on Lab 10:00~17:00 강남N타워 8월 29일(토) [8월 Game Meet Up] SATURDAY ON GAMES -..
오라클에서 GREATEST 함수는 최대값, LEAST 함수는 최소값을 반환하는 함수이다. MAX, MIN 함수와 차이점은 서로다른 컬럼의 값을 비교한다는 것이다. 같은 행(Row)에서 서로다른 컬럼의 값을 비교하여 최댓값 또는 최솟값을 반환한다. 함수의 인자 개수는 무한대 수준으로 입력이 가능하다. GREATEST("값1", "값2", "값3", "값4", "값5", "값6", ...) 인자값 중 최댓값을 반환 LEAST("값1", "값2", "값3", "값4", "값5", "값6", ...) 인자값 중 최솟값을 반환 최댓값을 반환 (GREATEST) SELECT GREATEST(100, 200, 300, 400, 500) FROM dual --결과: 500 최솟값을 반환 (LEAST) SELECT LE..
오라클에서 쿼리문을 작성할 때 TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다. 자주 사용하는 기본 함수이므로 아래의 다양한 변환 방법을 알고 있으면 많은 도움이 된다. 날짜 포맷 변경 (YYYY-MM-DD) SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') --20200723 , TO_CHAR(SYSDATE, 'YYYY/MM/DD') --2020/07/23 , TO_CHAR(SYSDATE, 'YYYY-MM-DD') --2020-07-23 , TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') --2020-07-23 11:10:52 FROM dual YYYY: 년, MM: 월, DD: 일, HH24: 24시간, HH: 12시간, MI: 분,..