열라 바쁜 가끔 빈곤 곰돌이

우리 딸래미가 태어난지 얼마인지 궁금해서 찾아보니 오라클에 이런 함수도 있다. 


SELECT MONTHS_BETWEEN(SYSDATE,'20150211') FROM DUAL;


MONTHS_BETWEEN 이란 함수로... 

계산하면 우리 딸은 이 글을 쓰는 현재 1.2개월이 되었다. 


엑셀에도 있을법한 함수인데 없습니다.

혹시 아신다면 엑셀로 알려주시기 바랍니다.




실제로 요새 어지간한 사칙연산은 오라클이 대신해주고 있다;;

SQLGate는 맨날 켜놓는데 반해 (먹고 살아야지;;;) 계산기는 자주켜는게 아니니;;; ㅎㅎㅎ

Comment +0

잘쓰던 울트라나브 키보드 청소해보겠다고 키캡을 빼서 화장실에서 세척했습니다. 

세척하는 도중에... 아뿔싸;;; 키캡이 하수구로 빨려들어가는 불상사가 발했습니다. ㅠㅠ




그래서 이렇게 키캡이 사라지는 사태가 발생했습니다. ㅠㅠ




그래서 인터넷에 부랴부랴 중고로 파는게 있길래 주문했더니...

이건 또 파트 넘버가 안맞아서 키캡만 재활용 할수가 없습니다. 

제건 빨간색 얘는 흰색... 딱 봐도 안맞게 생겼습니다.

결국 그냥 키보드 전체 파트를 다 갈아야 했습니다.



그래서 서로 키보드 부품을 호환하고 있는 저의 x220이 등짝을 따였습니다.

하판에 키보드 그림 그려져 있는 볼트를 다 풀면 키보드가 들립니다.

원래는 알리에서 주문하면 그걸로 교체하려 했으나...

오늘 주문한다고 내일 오는 알리가 아니니;; 일단 쓰려면 x220을 따야 했습니다. ㅠㅠ


등짝... 등짝을 보... 응? 쿨럭;;;




그렇게 따인 x220입니다.




x220은 이렇게 키보드 케이블만 연결하면 되는데... 

그럼 나브는 어떻게 되는거지? 싶으실 겁니다.




바로 나브를 따면 이 부품으로 돌아갑니다. SK-8855라고 써져 있는거 보니... 아마 옛날부터 나브의 키보드 칩은 변경이 없었던거 같습니다. (하긴... 이걸 변경할 이유도 없어요;;)




여기서 나브의 키보드와 노트북 키보드의 차이점... 

노트북의 키보드는 이렇게 전원버튼과 덮개가 있는데... 나브의 키보드는 이게 없습니다.

그래서 처음에 헷갈리죠. 그래서 어떻게 하느냐?




그냥 뜯어냅니다. 두번 다시 볼 물건 아니니 그냥 뜯어버리면 됩니다.

살짝 힘주어서 들면 슉슉 들립니다.




아.. 전원버튼도 필요없습니다.



마찬가지로 뜯어버립니다.



재밌는건 나브를 뜯으면 뒤에 저렇게 키보드 칩을 고정하는 구멍이 있는데

노트북 키보드도 동일하게 저 구멍이 있다는 겁니다. 

한마디로 나브는 노트북 키보드를 그냥 고대로 틀에 얹은거 이상도 이하도 아니라는 겁니다.

원래대로 위치 맞춰서 잘 고정합니다.




참... 생각보다 나브가 뜯기 귀찮아요.


나브의 나사는 뒤에 보이는거 말고 스티커 안에 2개가 더 있습니다.

그런데 이걸 다 뜯어도 아래만 뜯어질뿐 위에가 분리가 안됩니다. 

저는 그냥 나중에 테이프 붙이지 뭐... 하고 그냥 힘으로 뽀각... 들어 올렸습니다.

꽤 힘을 주셔야 합니다.

연결부위가 조금 깨졌는데;;; ㅠㅠ 그정도 가지고 다시 붙이기가 불가능하지 않더라고요.

테이프를 붙이지는 않았습니다.



x220에서 뜯어낸 키보드를 나브에 안착시킨 장면입니다. 

뒤집어서 그렇지 지금 윗판에 키보드를 거꾸로 넣은겁니다. (USB 맞추려고요)

문제는 키보드의 커넥터 길이가 조금 더 길다는 겁니다. 

그래서 이쁘게 맞지는 않습니다. 

그런데 나브 자체에 여유가 되어서 그냥 놔둬도 상관없습니다.




저는 그냥 저 뒷판에 원래 있던 검은테이프도 안붙였습니다. 

어차피 뒤집어 놓으면 다시 안볼거... 

그리고 잘 조립만 해줍니다.



원래는 이렇게 테이프가 있어서 검은색으로 보여지는거죠.

그러고 보면 이거도 참 원가 절감 잘 해놨습니다 그려;;;;



이제 연결합니다.


원래 키보드를 넘겨주고 원래 x220은 속살을 보인채로 있습니다.



USB입력장치로 연결되었습니다. 2개가 뜬 이유는 키보드/트랙포인트 각각이라서 그렇습니다.






알고 보면 그렇게 어렵지 않은데 분명 울트라 나브 뒷면 나사 다 풀었는데, 안뜯어지고....

인터넷엔 이 키보드 교체에 대해서 아무도 안알려주고;;;;

결국 그래서 내가 쓰는 울트라 나브 키보드 교체기가 되겠습니다. 




아... 그리고 키보드는 알리에서 free shipping으로 22달러짜리 사서 잘 쓰고 있습니다.



결론...



1. 제 울트라나브(55Y9025)와 X220의 키보드는 서로 동일한 제품이다.

2. 울트라나브는 나사 풀었다고 풀린게 아니다. 힘을 주어 뜯자.

3. 키캡은 조심하자... 키캡 잃어버려서 이리 된거고, 그리고 갈려면 키보드를 파트 통채로 갈아야한다.

4. 알리는 22달러에 배송도 그냥 해주는데 서비스 센터는 참 비싸다... ㅠㅠ (한글이 새겨져 있지만...)



이상입니다. ㅎㅎ



Comment +5

  • SK-8855 사용자 2015.02.15 18:42 신고

    혹시 X220 의 키캡만 빼서 꽂을 수는 없나요?
    저도 SK-8855의 alt키가 걸쇠 걸리는 부분이 부셔저서 그것만 구하고 싶은데 x220 의 alt키만 빼서 꽂을 수는 없는지...
    꼭 전체 다 갈아야 하는지 궁금하네요 ㅠ

    • 그러니까 뒤에 파트 번호가 같아야 합니다.
      결국엔 뜯어봐야 안다가 정답입니다.
      글에도 썼지만... 같은 키보드를 구해도 파트번호가 다르면 높은 비율로 키캡의 구성도 다릅니다. 결국 안맞습니다.

      저도 그래서 통짜로 갈았습니다.

  • 하늘여행 2015.07.07 23:49 신고

    감사합니다.
    화살표 키캡 안쪽 지지대가 부러져서 애물단지 취급받던 울트라나브 키보드가 다시 살아났네요.
    키캡만 다시 구할 수 없어서 포기하고 있었는데
    작성해주신 글을 참고해서 이베이에서 x220 한글 키보드를 구매해서 키보드를 갈아줬더니 새것처럼 다시 살아났습니다.
    처음 일본에서 발매되었을 때 영문판으로 구매했던 키보드 인데 앞으로 오랜시간 함께 할 수 있을것 같군요.

  • rk 2015.10.06 10:23 신고

    http://www.quikfixlaptopkeys.com/?product=ibm-lenovo-thinkpad-t510-replacement-single-keyboard-key

    이번에 여기에서 키 하나만 주문했는데 키캡만 오는 줄알았더니 힌지? 까지 같이 오더라구요.. 6천원 정도 들었는데, 긴가민가 했는데 실제로 잘 와서 놀랐습니다.

    기계식 키보드를 쓰다가.. TP 키감이 그리워져서 울트라나브를 보고있습니다 ㅎㅎ

오라클에 테이블 정보등을 검색하고 거기 테이블의 데이터 개수를 구하라는 미션이 떨어졌습니다.

갑님들이 하는게 다 그렇지 뭐... 


그리하여 아래와 같이 함수를 만들었습니다.


CREATE OR REPLACE FUNCTION FN_GET_ROW_CNT(strTABLE_NAME IN VARCHAR2) RETURN VARCHAR2

IS

ROW_CNT VARCHAR2(300);

v_sql VARCHAR2(1000);


BEGIN

v_sql := 'SELECT COUNT(*) FROM '||strTABLE_NAME;

      EXECUTE IMMEDIATE v_sql INTO ROW_CNT;


   RETURN ROW_CNT;


   EXCEPTION

     WHEN NO_DATA_FOUND THEN

          RETURN(' ');

     WHEN OTHERS THEN

       RETURN('ERROR');


END FN_GET_ROW_CNT;



상단함수에서 생각해 보아야할 내용은 v_sql 이라고 쿼리를 변수로 따로 담은 부분입니다.

오라클에서는 테이블명은입력받은 변수로 바로 사용을 못합니다. 

그래서 위와 같이 변수로 입력받은 값에 쿼리 전체 문구를 만들어서 하나의 변수에 다시 넣어주어야 합니다.


그러고 나서 




SELECT

A.TABLE_NAME,

      (SELECT B.COMMENTS FROM USER_TAB_COMMENTS B WHERE A.TABLE_NAME = B.TABLE_NAME ) AS TABLE_COMMENTS,

      '' AS TABLE_DESC,

      (SELECT COUNT(C.COLUMN_NAME) FROM USER_TAB_COLUMNS C WHERE A.TABLE_NAME = C.TABLE_NAME ) AS COL_CNT,

      FN_GET_ROW_CNT(TABLE_NAME) AS ROW_CNT

FROM USER_TABLES A


위에 처럼 빨간색으로 함수를 호출하여 쓰면... 변수로 넘긴 테이블명을 이용하여 전체 갯수를 검색해줍니다.

Comment +0