[MS-SQL] 테이블의 컬럼 설명까지 보여주는 쿼리

Posted by MD워시퍼
2011. 9. 2. 00:01 Study/MS-SQL
728x90
SELECT  
   [Table Name] = OBJECT_NAME(c.object_id), 
   [Column Name] = c.name, 
   [Description] = ex.value  
FROM  
   sys.columns c  
LEFT OUTER JOIN  
   sys.extended_properties ex  
ON  
   ex.major_id = c.object_id 
   AND ex.minor_id = c.column_id  
   AND ex.name = 'MS_Description'
WHERE  
   OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0  
   AND OBJECT_NAME(c.object_id) = '<<Table_Name>>' 
ORDER  
   BY OBJECT_NAME(c.object_id), c.column_id 

MS-SQL 관련 프로시저 및 TABLE 보는 것들(아직 정리안된 것)

Posted by MD워시퍼
2011. 7. 23. 14:11 Study/MS-SQL
728x90
select name , create_date, modify_date
  from sys.objects
where type = 'P'
  AND create_date >  DATEAdd(dd, -70, GETDATE())

select * from INFORMATION_SCHEMA.PARAMETERS

sp_stored_procedures ST_LM_DMD_DEMAND_BREAKDOWN_FIXED_UPDATE

sp_help

sp_helptext

부동산종합자산관리(PM/FM/AM)의 개념은?

Posted by MD워시퍼
2011. 5. 16. 11:31 Study/RETS
728x90
ㅇ 부동산 종합자산관리란?
    1. 부동산의 소유개념에서 경영개념으로 패러다임 자체가 변환되면서 수익성을 중시하는 경영으로 한 단계 업그레이드된 말그대로 부동산종합자산관리를 말합니다.
    2. 단순한 재산차원을 넘어 중요한 투자자원으로 인식하여,해당 부동산에 대한 투자분석 및 자산운용계획을 수립하고 자산을 극대화, 비용을 최소화, 물리적, 경제적 리스크관리 및 서비스 최적화를 목적으로 하는 최고의 자산관리 서비스 입니다.
    3. 부동산 종합자산관리를 PM(Property Management)과 FM(Facility Management), AM(Asset Management)로 구분하여 명명해 봅니다.
    그리고 전문업체에서는 이 모든분야를 망라하여 직접 수행하거나 도급형태로 위임, 수행하게 됩니다.
    즉, 부동산의 매입단계, 관리단계, 매각단계에 이르는 전 과정을 통하여 경제적 타당성을 분석하며, 미래의 자산가치를 평가수행하고 정확한 빌딩의 최적환경을 조성 하여 매각시 소유주의 자산가치를 극대화하는 부동산종합자산관리 입니다.

      주요 부동산의 자산인, 빌딩(건물)의 생명주기요금비율(Life Cycle Cost)을 100%로 놓고 분석해 보았을 때
        - 기획/설계단계0.4%
        - 건설단계가 16%
        - 운영관리단계가 83.2%
        - 폐기처분단계가 0.4%로
        - 빌딩신축 후 운영관리를 위해 지출되는 비용이 약 80%이상을 차지하고 있는 것으로 알려지고 있습니다.
      이것은 효율적인 빌딩경영관리가 얼마나 중요한지를 판단 할 수 있습니다.

      부동산종합자산관리를 하는 경우와 하지 않는 경우의 차이점은?
        1)고품질의 관리를 받은 건물은
          - 운영관리비용이 최적화
          - 빌딩수명 및 가치 극대화
          - 우량입주고객 유치 극대화
          - 빌딩가치가 극대화 되어
          - 향후 소유자가 원하는 최적의 가격으로 임대, 매매처분으로 이어 질 수 있습니다.

        2)고품질의 관리를 받지 않은 건물은
          - 장기적인 고비용 운영관리
          - 빌딩의 수명단축
          - 빌딩가치의 단축으로
          - 소유자가 원하는 가격에 임대, 매매처분이 이루어 지기 어렵습니다.

    4. 부동산종합자산관리의 주요 목적은
       - 수입의 안정화 -> 최대화
       - 유지비용의 최소화 -> 효율화하여
       - 자산수익을 극대화하는 것입니다.

ㅇ PM(임대관리)이란?
    1.부동산에 연관시켜 저희의 개념에 의해서 말씀 드리면, Property Management   즉,종합임대관리를 뜻합니다.
    2. 부동산 자산의 효율적인 관리, 임대수입의 극대화, 비용경비의 극소화를 창출해 내는 서비스입니다. 임차인 유치 및 유지는 빌딩의 수익과 가치로  직접연결 되기 때문에 중요한 운영관리 분야입니다.
    3. 도입의 필요성은
        1)소유와 경영의 분리 가속화 입니다.
        2)새로운 부동산 시장의 생성입니다. 부동산 리츠의 활성화, 외국계 부동산회사의 유입
        3)부동산 소유자의 의식변화 입니다. 부동산에 대한 패러다임의 변화, 부동산 가치를 증가시켜 수익을 최대로(극대화)
    4. 의식변화
        - 빌딩관리의 중요성이 대두되기 시작하였으며
        - 부동산 수익을 확보하고 싶고 소유는 하고 있지만 번거롭고
        - 가치를 높여 가능한 비싸게 매각하고 싶다는 많은 고객들이
        - 현재 부동산 경영 전문가(회사)에게 빌딩의 가치를 극대화 하기 위해
        - 경영의뢰가 점차적으로 많아 지고 있습니다.

각 전문업체에서는
- 임대기획 및 전략을 수립
- 임대시장을 조사 분석/적정 임대가 설정
- 임대유치/마케팅 활동 임대관리를 대행
- 임대차 계약 대행(계약금, 중도금, 잔금수납 대행포함)
- 미수/공실 등 리스크 관리하여 최소 공실 유지
- 고객 전출입관리(열쇠관리, 관련비품확인, 하자확인 등)
- 임대료 및 관리비 관리 (단 위탁자 요구 시 예외적인 수납대행)
- 우편물 수· 발신 업무 대행 등 임대관리에 필요한 모든 업무대행을 하고 있답니다.

FM(시설관리)이란?

1.Facility Management

2.시설관리의 필요성
건물의 각종장비 및 시설물을 적절한 표준 운영지침 제공과 운영을 통해 최적의 조건으로 관리하고 진단하여,사전에 사고를 예방하고,쾌적한 환경을 조성하여 건물 입주자들에게 불편함이 없도록 만족을 드리며,건물수명 연장을 도모함에 있습니다.

3. 시설관리
- 시설관리 - 냉난방설비, 전기설비, 위생설비, 방재설비, 반송설비
- 건축/설비보전관리 - 설비점검정비, 건축구조부 점검 정비, 청소관리 (건물 내· 외부 청소, 폐기물처리, 소독, 방역)
- 미화/위생관리 - 실내 환경관리, 급수관리, 배수관리
- 경비/주차관리 - 경비업무, 방화/방재업무, 주차관리 등이 있습니다.

각 전문업체에서는
- 모든 업무를 신속/정확하게 처리하기 위하여, 관리조직 및 관리기획, 예산을 편성
- 관리 일정 계획 및 검토,사업운영에 필요한 시설, 장비. 유지 보수에 필요한 부품과 예방 보전 등에 사용되는 다양한 자재 검토(Operation Maintenance)와기록 및 보고를 통하여,유지관리 및 자료 관리의 과정등 체계적인 시설관리를 해주고 있답니다.

AM(Asset Management)이란?

부동산의 장기안정적 수익기반 확보, 가치상승 위한 장기전략 수립· 실행합니다. 즉,
- 시장 및 지역경제분석
- 시장경쟁요인 및 수요분석
- 매입,매각 및 자금조달업무, 자산평가 및 투자분석, 포트폴리오 관리 및 분석을 하게 됩니다.

[Oracle] 특정일부터 현재까지의 날짜를 가져오는 방법

Posted by MD워시퍼
2011. 2. 7. 11:12 Study/Oracle Sql
728x90
SELECT TO_CHAR(TO_DATE(V) + (LEVEL - 1),'YYYYMMDD')
FROM (SELECT '20101010' v FROM DUAL)
CONNECT BY LEVEL <= SYSDATE - TO_DATE(V) + 1

<출처> www.oracleclub.com - 오라클클럽

[JavaScript] 두 날짜간의 날수 리턴

Posted by MD워시퍼
2011. 1. 19. 17:09 Study
728x90
function getDaysBetweenBothDate(s_date, e_date) {
  s_date = removeFmt(s_date);
  e_date = removeFmt(e_date);
  if (s_date != "" && e_date != "") {
    if( parseFloat(s_date) <= parseFloat(e_date)) {
      daysS_date = calculate_total_days(s_date);
      daysE_date = calculate_total_days(e_date);

      days = daysE_date - daysS_date;
      return days;
    }
  }
  return "-1" ;
}

Java공부 순서 (국내 최고의 개발자가 말하는..)

Posted by MD워시퍼
2010. 12. 22. 15:30 Study
728x90
  1.  일단 자바 언어의 기초를 충실히 공부한다.

    Head First Java 2 판(한글판 괜찮음)으로 시작.
    나오는 모든 예제를 다 따라해보고 중요한 부분은 정리해서 블로그에 올린다.(올리는게 중요한게 아니라 정리하는 습관이 중요하다. 올리면, 또 다른 사람에게 도움이 될 수 있다. 또 스스로 꾸준히 하도록 자극도 된다.)
    먼저 이 책을 완벽하게 익히는데 Tread,Network 부분은 우선 넘기도록 한다.(사용할 일이 많지 않으므로)
    대신 Collection같은것은 완벽하게..
    책은 순서대로 보고, 나오는 예제는 모두 따라한다.
    연습문제를 푼다.

  2. 자바의 각종 관련 기술들.. IO,Network,Web,DB 등등과 관련된 프로그래밍 기술들을 익힌다.

    다음으로 Java의 좋은 코딩습관을 위해서..
    Effective Java2라는 책을 본다. - 중요한 가이드를 많이 배울 수 있다.

    TDD,Refactoring,Design Pattern이라는 세가지 주제를 적절하게 함께 공부해 나가는 것이 좋다.
    일단, Head First Design Pattern을 보고 Head First OOAD를 본다. - 설계의 기초를 배우는데 아주 좋다.
    TDD(한글판), Refactoring(영문판)을 구해서 본다.

    JSP/Servlet으로 웹의 기초를 다진다.
    CSS/HTML/JavaScript/Prototype 정도는 충실히 공부한다.

  3. 동시에 자바의 객체지향적인 특성을 공부하기 위해서 객체지향설계와 개발의 원리들을 따라서 공부한다.

    마지막으로 프레임워크를 공부한다.
    스프링과 하이버네이트를 먼저 공부하고 부가적으로 iBatis,Struts2정도 본다.
    사용하는 클래스의 API문서도 같이 읽는다.

  4. 그외 기억해야 하는 것들..

    시간과 목표를 정하고, 반드시 코딩을 같이 한다.
    정리해서 블로그에 올린다. -정리는 내가 절대 까먹지 않을 것 같은 내용 말고 나중에 다시 훑어보면 정리하는데 도움이 될 만한 것들 위주로 메모하듯이 한다.(일종의 컨닝페이퍼)

    개발환경은 20081118현재 eclipse 3.4 ganymade, JDK 1.6 최신버전으로 설치하고 시작..
    그리고...

    한두 챕터를 보면서 스피드를 조종하고 일정을 잡아 블로그에 올려서 공개하고 진도를 나간다.


요즘 내가 고민하고 있는 자바의 기초를 다시 봐야할 것 같은 기분이랄까? 기초부터 차근차근 올라오지 못한 나같은 경우, 삼풍백화점이 무너지는 것이 하루 아침인데.. 이제야 알게 되었다.. 다시 돌아가 다시 배우는 시간이 되어야 할 것 같다.. 세상은 넓고 배워야 할 것은 넘 많다..

그리고 블로그도 다시 시작해야겠다.. 그냥 출첵만 하는 블로그가 아닌 블로그 다운 블로그..

숫자금액을 한글로 바꿔주는 오라클 함수

Posted by MD워시퍼
2010. 10. 21. 11:00 Study
728x90
CREATE OR REPLACE FUNCTION LIGADJUSTUSER.F_FRM_HANGULAMT (ARG_금액 NUMBER) RETURN VARCHAR2 IS
 N_숫자길이 NUMBER(2);
 N_숫자위치 NUMBER(2);
 V_숫자문자 VARCHAR2(20);
 V_자리수 VARCHAR2(1);
 V_존재여부 VARCHAR2(1);
 V_한글금액 VARCHAR2(100);
BEGIN
 IF ARG_금액 IS NULL  THEN
  RETURN (NULL);
 ELSIF ARG_금액 = 0  THEN
  RETURN ('영');
 ELSIF ARG_금액 < 0  THEN
  V_한글금액 := '-';
 END IF;
 V_숫자문자 := TO_CHAR (ABS (ARG_금액));
 N_숫자길이 := LENGTHB (V_숫자문자);
 FOR I IN 1..N_숫자길이 LOOP
  V_자리수 := SUBSTRB (V_숫자문자, I, 1);
  IF V_자리수 = '0'  THEN
   V_한글금액 := V_한글금액 || '';
  ELSE
   IF V_자리수 = '1'  THEN
    V_한글금액 := V_한글금액 || '일';
   ELSIF V_자리수 = '2'  THEN
    V_한글금액 := V_한글금액 || '이';
   ELSIF V_자리수 = '3'  THEN
    V_한글금액 := V_한글금액 || '삼';
   ELSIF V_자리수 = '4'  THEN
    V_한글금액 := V_한글금액 || '사';
   ELSIF V_자리수 = '5'  THEN
    V_한글금액 := V_한글금액 || '오';
   ELSIF V_자리수 = '6'  THEN
    V_한글금액 := V_한글금액 || '육';
   ELSIF V_자리수 = '7'  THEN
    V_한글금액 := V_한글금액 || '칠';
   ELSIF V_자리수 = '8'  THEN
    V_한글금액 := V_한글금액 || '팔';
   ELSIF V_자리수 = '9'  THEN
    V_한글금액 := V_한글금액 || '구';
   END IF;
   V_존재여부 := '1';
  END IF;
  N_숫자위치 := N_숫자길이 + 1 - I;
  IF N_숫자위치 = 1  THEN
   V_한글금액 := V_한글금액 || '';
  ELSIF N_숫자위치 = 5  THEN
   IF V_존재여부 = '1'  THEN
    V_한글금액 := V_한글금액 || '만';
   END IF;
  ELSIF N_숫자위치 = 9  THEN
   IF V_존재여부 = '1'  THEN
    V_한글금액 := V_한글금액 || '억';
   END IF;
  ELSIF N_숫자위치 = 13  THEN
   IF V_존재여부 = '1'  THEN
    V_한글금액 := V_한글금액 || '조';
   END IF;
  ELSIF N_숫자위치 = 17  THEN
   IF V_존재여부 = '1'  THEN
    V_한글금액 := V_한글금액 || '경';
   END IF;
  ELSE
   IF V_자리수 <> 0  THEN
    IF MOD (N_숫자위치, 4) = 0  THEN
     V_한글금액 := V_한글금액 || '천';
    ELSIF MOD (N_숫자위치, 4) = 1  THEN
     V_한글금액 := V_한글금액 || '';
    ELSIF MOD (N_숫자위치, 4) = 2  THEN
     V_한글금액 := V_한글금액 || '십';
    ELSIF MOD (N_숫자위치, 4) = 3  THEN
     V_한글금액 := V_한글금액 || '백';
    END IF;
   END IF;
  END IF;
  -- 일경조억만 이라는 금액이 찍히지 않도록...
  IF N_숫자위치 IN (1, 5, 9, 13, 17)  THEN
   V_존재여부 := NULL;
  END IF;
 END LOOP;
 RETURN (SUBSTR(V_한글금액,1,100));
END;

[출처] ssiso.net

javascript로 frameset Rows와 Cols 값 변경하기

Posted by MD워시퍼
2010. 10. 18. 10:16 Study
728x90
<<frame 단>>
<frameset id="frame" rows="32,57,*" cols="*" framespacing="0" frameborder="NO" border="0">


<<plug 단>>
if(oid == '0') {
     parent.document.getElementById("frame").rows = "32,57,*";
} else if(oid == '1') {
     parent.document.getElementById("frame").rows = "32,32,*";
}

[WHITE] 어느 LEVEL 위치에서 그 예하소속 인원 가지고 오기

Posted by MD워시퍼
2010. 7. 30. 14:21 Study
728x90
SELECT SUPER_ORG_CD
      , ORG_CD
      , F_ORM_ORG_LINE(ORG_CD,'1',SYSDATE)
      , (SELECT COUNT(0) FROM V_PHM_EMP_C WHERE F_ORM_ORG_LINE(ORG_CD,'1',SYSDATE) LIKE F_ORM_ORG_LINE(TEST.ORG_CD,'1',SYSDATE)||'%') AS CNT
 FROM(select level AS VAL, ORG_CD, SUPER_ORG_CD, ORG_NM
  from ORM_ORG_C
start with SUPER_ORG_CD  is null
connect by PRIOR ORG_CD = SUPER_ORG_CD
  AND SYSDATE BETWEEN STA_YMD AND END_YMD
  ) TEST
  WHERE VAL = 4

textarea에서 maxlength 만들기

Posted by MD워시퍼
2010. 5. 12. 11:25 Study
728x90
function CheckStrLen(obj,maxlen)
    {
        var temp; //들어오는 문자값...
        var msglen;
        msglen = maxlen*2;
        var value= obj.value;

        l = obj.value.length;
        var tmpstr = "" ;

        if (l == 0)
        {
            value = maxlen*2;
        } else {
            for(k=0;k<l;k++) {
                temp =value.charAt(k);

                if (escape(temp).length > 4)
                    msglen -= 2;
                else
                msglen--;

                if(msglen < 0){
                    alert("총 영문 "+(maxlen*2)+"자 한글 " + maxlen + "자 까지 보내실수 있습니다.");
                    obj.value= tmpstr;
                    break;
                } else {
                    tmpstr += temp;
                }
            }
        }
    }