본문 바로가기

전체 글164

오라클 - function (펑션) 만들기 기초문법. PL/SQL 에 매우 약한 나를 위해 남기는 펑션 만들기 기초문법! 기본적으로 펑션은 아래의 형태를 갖는다. CREATE [OR REPLACE] FUNCTION FUNCTION_NAME [(argument1 [mode1] DATA_TYPE, argument2 [mode2] DATA_TYPE, ~~~반복~~~)] RETURN 타입 --세미콜론을 넣지 않는다. 넣으면 컴파일 에러!! IS 변수 변수타입; BEGIN PL/SQL 작성; END; OR REPLACE 붙여도 상관없고 안 붙여도 상관은 없지만 붙이는 경우 이미 존재하는 펑션명이라면 기존 펑션의 내용을 지우고 재생성(이라기보다 수정?) 한다. 물론 붙이지 않는다면 해당 펑션명이 이미 존재한다는 에러를 뿜어내고 종료. FUNCTION_NAME 당연하게.. 2018. 3. 17.
오라클 - SQLGate2010 으로 function (펑션) 생성 시 주의, ORA-06575 : 패키지 또는 함수 ~ 은 부적당한 상태입니다. 오늘도 열심히 공부를 위해 뭔가를 해볼까 하다가 오늘은 펑션을 해봐야겠다는 생각이 들었다. 나는 PL/SQL 이 너무나도 약한 그런 남자니까... 그래서 지난주 했던 order by decode 에서 사용했던 select 문에 적용할 날짜 펑션을 만들어보기로 했다. CREATE OR REPLACE FUNCTION FN_GET_DATE_FORMAT (I_STR VARCHAR2) RETURN VARCHAR2 IS V_DATE VARCHAR2(10); BEGIN IF(LENGTH(I_STR) = 8) THEN SELECT TO_CHAR(TO_DATE(I_STR, 'YYYYMMDD'), 'YYYY.MM.DD') INTO V_DATE FROM DUAL; END IF; IF(LENGTH(I_STR) = 14) TH.. 2018. 3. 17.
오라클 - 임의의 순서로 정렬하기 order by decode, order by case 이거 완전 신기방기하다. 이런 게 있다는 걸 왜 지금까지 몰랐을까?알았다면 굳이 어렵게 쿼리를 두 번을 돌려가며 union 을 안 써도 됐을텐데... 어쨌든 order by decode 를 사용하게 된 상황은 다음과 같다.아래와 같은 데이터가 있다고 하자. 결제일 상품 결제상태 2018.03.16 검은사막 모바일 배송 중 2018.03.14 슈퍼판타지워 배송 완료 2018.03.10 개그콘서트 환불 2018.02.15 비트코인 떡상 가즈아 환불 2018.02.13 티스토리 편집기 불편 배송 완료 2018.02.11 여의도 벚꽃 놀이 배송 완료 2018.02.10 우리나라 좋은 나라 환불 2018.02.07 게임을 하면 이겨야지 배송 중 위 데이터는 결제일을 기준으로 order by 결제일 desc 를 한.. 2018. 3. 17.
오라클 - 숫자 컬럼 기준 정렬이 이상하게 되는 경우 가끔 SELECT 쿼리를 날리다 보면 숫자로 된 컬럼을 기준으로 정렬 시 정렬이 제대로 되지 않는 현상이 있다. IDX 111122212223331 대충 위와 같은 느낌으로 되는 경우가 있는데 이럴 경우 ORDER BY 에서 해당 컬럼을 숫자로 인식하도록TO_NUMBER() 를 사용해서 정렬하면 된다. ORDER BY IDX ASCORDER BY TO_NUMBER(IDX) ASC 이거 말고 다르게 할 수 있는 방법은 없을까?아시는 분 알려줘요~ 2018. 3. 10.
정규식 표현 정규표현식 설명 예문 결과값 추가설명 ^x 문자열이 x로 시작함 REGEXP_LIKE(LAST_NAME, '^A') Atkinson 대소문자 구별 Ande Abel x$ 문자열이 x로 끝남 REGEXP_LIKE(LAST_NAME, 'n$') Bernstein 대소문자 구별 Olsen McEwen . 임의의 한 문자 REGEXP_LIKE(LAST_NAME, 'n.z') Lorentz 대소문자 구별 x+ x가 1개 이상 존재함 REGEXP_LIKE(LAST_NAME, 'in+s') Atkinnson 예시는 k 뒤에 i 가 1개 이상 오는 것을 찾는다. 단독으로 사용하기는 의미 없을 것 같다. Marvins Perkins Higgins x* x가 0개 이상 존재함 REGEXP_LIKE(LAST_NAME, 'i.. 2018. 3. 10.
오라클 - 조인(JOIN)의 종류 뭔가 개소리가 엄청나게 긴 글이 있었는데 지우고 그냥 알아보기 쉬운 그림이 있어서 퍼옴;출처는 저기 써있네. http://commons.wikimedia.org/wiki/User:Arbeck 2018. 2. 20.
오라클 - DDL, DML, DCL 1. DDL(Data Definition Language)데이터와 그 구조를 정의합니다. 1) CREATE : 데이터베이스 객체를 생성합니다.2) DROP : 데이터베이스 객체를 삭제합니다.3) ALTER : 기존에 존재하는 데이터베이스 객체를 재정정의하는 역할을 합니다.4) RENAME : 데이터베이스의 컬럼명을 변경합니다.5) TRUNCATE : 테이블을 최초 생성된 초기상태로 만들며, ROLLBACK이 불가능합니다. 2. DML(Data Manipulation Language)데이터의 검색, 수정, 삭제 등을 처리합니다. 1) INSERT : 데이터베이스 객체에 데이터를 입력합니다.2) DELETE : 데이터베이스 객체의 데이터를 삭제합니다.3) UPDATE : 기존에 존재하는 데이터베이스 객체 안.. 2018. 2. 20.
가민 Garmin Edge 520 과 Fly6 ce 를 ANT+ 로 연결하기 그냥 집에서 잉여대다가 문득 생각난 게 한 가지 있다.그건 바로 '어, 그러고보니 Fly 6 ce 가 ANT+ 를 지원한다고 하지 않았나?' 라는 쓸데없는 호기심; ANT+ 가 뭐냐면 무슨 근거리 무선 통신 어쩌고 저쩌고 라는데 별로 궁금하진 않아서 궁금하신 분은 직접 찾아보시고어쨌든 쇠뿔도 단 김에 빼라고 생각난 김에 바로 가민 520 과 Fly6 ce 를 ANT+ 로 연결해 보기로 했다. 이제 Fly6 ce 의 모든 컨트롤을 가민 520 에서 할 수 있을 거라는 막연한 기대감과 함께... 그리고 그로부터 한 시간 정도 이것저것 만져본 결과 대충 알았다 싶어서 그만하려다가 인터넷을 찾아보니 아직 아무도 이 둘의 연동에 관한 글을 작성하지 않은 것 같아 누군가에게 도움이 될까 싶어 블로그 글을 작성하기 .. 2018. 2. 19.
[2016.10.30] 4대강종주 :: 섬진강 종주 165.9km (섬진강댐 → 장군목 → 향가유원지 → 횡탄정 → 사성암 → 남도대교 → 매화마을 → 배알도수변공원) 정말 길도 코스도 뭣도 지랄맞던 영산강 종주를 다녀오고나서 벌써 한달이 지났다.그동안 열심히 살도 빼고 다리도 단련해서 섬진강 때는 날아다녀야지 라고 생각했는데 그런거 개뿔이다.사실은 기변도 하고 싶었고 휠도 바꾸고 싶었지만... 정말 한달동안 스멀스멀 올라오는 욕구를 참느라 정말 힘들었다. 어쨌든! 저번 포스팅에서 예고한대로 이번에는 섬진강 종주!저번 영산강 종주와 마찬가지로 자.타.사 중랑천 친구들 밴드에서 단체로 관광버스를 타고 이동했다.인원은 영산강 종주 때보다 더욱 늘어난 34명...? 35명...? 잘 모르겠다. 이번 라이딩의 회비는 저번과 마찬가지로 70,000원이었는데 여기에는 관광버스 대절비 + 간식비 + 야참,아침,점심 + 트럭 대절비 등등이 포함되어 있다. >섬진강댐 → 장군목 → 향.. 2018. 2. 19.
[2016.09.25] 4대강종주 :: 영산강 종주 133.4km (영산강하굿둑 → 느러지 관람전망대 → 죽산보 → 승촌보 → 담양대나무숲 → 메타세콰이아길 → 담양댐) 마지막 포스팅으로부터 어느덧 또다시 두 달에 가까운 시간이 지났다. 왠지 똑같은 코스를 다녀온 글은 별로 쓰고 싶지 않아서였는데... 내년엔 그냥 다 적어볼까 싶다. 어쨌든 이번에는 4대강 종주 중 하나인 영산강 종주! 이번 라이딩은 자.타.사 중랑천 친구들 밴드에서 단체로 관광버스를 타고 이동했으므로 터미널에 관한 정보는 남길 수 없는 점 양해 바란다. 아마 다른 블로그에서 설명 잘 해놨을거야... 정산 내역을 보니까 총 32명이 다녀온 이번 라이딩은 아침, 점심, 간식비 등등 해서 인당 55,000원이 나왔는데... 아무래도 어느 정도 참가 인원이 확보가 되면 개개인이 고속버스를 예약해서 가는 것보다 저렴하게 다녀올 수 있으니까 동호회 인원이 대인원이 되면 이런 점에서 확실히 메리트가 생기는 것 같다.. 2018. 2. 19.
[2016.07.19] 국토종주 :: 국토종주 인증 메달 도착... 정확히 한달 만에 도착! 그리고 아라뱃길 인증센터 직원 일처리 개판! 마지막 포스팅으로부터 어느덧 두달이라는 시간이 흘렀다.국토종주 후기 글에는 작성하지 않았는데 아킬레스건에 부상을 입어 거의 두달간 자전거를 타지 못 해서... 어쨌든 국토종주 이후에 6월 19일(일)에 아라뱃길 인증센터로 가서 인증 신청을 했는데아라뱃길 인증센터 직원의 일처리는 완전 레알 제대로 개판이었다.이럴 줄 알았다면 부산에서 하룻밤 묵고 인증까지 받고 오는건데... 후회가 막심하다. 어쨌든 이번에 처리했던 일은 두가지다.1. 인증도장 옮기기 (이 경우 수첩을 새로 구매해야 하며 기존 수첩은 폐기해야 한다.)2. 인증요청 사실 굳이 1번을 요청한 이유는 내 수첩을 엄니가 세탁기에 돌려버려서...좀 너덜너덜하기도 하고 도장도 깨끗하지 않아서 새로 요청을 한건데...근데... 이렇게 도장을 개판으로 찍.. 2018. 2. 19.
[2016.06.05] 국토종주 :: 강정고령보 → 낙동강하굿둑 203.3km (강정고령보 → 달성보 → 합천창녕보 → 창녕함안보 → 양산물회관 → 낙동강하굿둑) 이 날은 일어나면 시간이 몇시가 됐든 출발하려고 일단 알람은 6시~7시에 맞춰놨는데같은 방 쓰던 아저씨들이 떠드는 소리에 일어나보니 5시여서 일어난 김에 출발해야겠다 하고 일어나서 라면이나 먹을까 했더니 아저씨들이 전날 포장해온 국밥을 데워서 드시려던 중이었다. 거실로 나가자마자 학생도 빨리 앉아서 먹으라고~~ 아침밥도 감사히 얻어먹고 기분 좋은 출발이 될 것 같았다. 이 날 종료 시간을 보니 더 늦게 일어났다면 정말 큰일날 뻔 했다. 깨워주시고 밥도 주시고 감사합니다~ 헤헤~ 총 나까지 다섯명이서 같은 방에서 잤는데 세분은 일행이셨고 한분은 나처럼 혼자 오신 분!이 세분 중에 한분은 부상으로 복귀하시고 나머지 두분만 출발하시고 혼자 오신 한분은 갈 길이 멀다 하셔서 내가 준비 중에 먼저 출발하셨다. (.. 2018. 2. 19.