'분류 전체보기'에 해당되는 글 509건

  1. 2013.05.02 미국 부동산 투자 ETF 소개.
  2. 2013.04.24 MSSQL DB 이관
  3. 2013.04.12 참조 함수 INDIRECT, ADDRESS.
  4. 2013.04.12 엑셀( Excel ) OFFSET 함수.
  5. 2013.04.11 금융소득종합과세
  6. 2013.04.10 ping과 tracert
  7. 2013.04.10 Database Naming Rule
  8. 2013.04.09 MSSQL 문자열 함수
  9. 2013.04.09 Trigger 트리거 관련 정보 조회.
  10. 2013.04.08 [jquery] Input Select
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

미국 부동산 투자 ETF 소개.


부동산 ETF 는 부동산을 직접 보유하지 않고도 부동산 가격 상승에 따른 수익을 얻을 수 있도록 설계된 일종의 금융 상품이다.
예를 들어, 미 NYSE 에 상장된 UMM (링크 : http://www.google.com/finance?q=NYSE:UMM )의 경우 케이스 쉴러 지수에 3배 연동한 상품이다. 즉, 케이스 쉴러 지수가 1단위 상승시, UMM 의 가격이 3단위 상승. 케이스 쉴러 지수가 1단위 하락시, UMM 의 가격이 3단위 하락하는 셈. (그리고, 미 증권사 계좌를 보유하고 있다면, 이 부동산 ETF 인 UMM 을 마치 뱅크오브어메리카 (BAC) 나 구글 (GOOG) 과 같은 보통 주식처럼 쉽게 직접 거래 할 수 있다. (수수료도 동일).

부동산 지수 혹은 부동산 경기와 연동한 ETF 는 아래와 같이 참 다양하다.
심볼 : REZ, RWR, RWX, IYR, ICF, VNQ, FRI, SRS
(위 심볼을 구글 파이낸스 혹은 야후 파이낸스에 들어가서 입력 후 엔터하면 종합 정보를 볼 수 있다.)

특히 DMM (NYSE : DMM) 의 경우는 조심하여야 할 것이, 부동산 시세와 역(반대) 방향으로 연동이 되어있다는 점이다.
예를 들면, 향후 미국 부동산 시세가 떨어질 것이라고 생각하면 DMM 을 사면 된다.
Posted by 당양부부34

2013. 4. 24. 18:04 IT/MSSQL

MSSQL DB 이관

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

A-SQLServer SQL Server에 존재하는 Migrate 데이터베이스를 B-SQLServer SQL Server로 동일한 데이터베이스명으로 이관하고 사용자(MigDBUser)가 접근 할 수 있도록 권한 처리를 한다.

   

  • 이관하려는 데이터베이스를 백업
    • 데이터베이스 백업
      • Microsoft SQL Server Management Studio 실행
      • A-SQLServer 서버에 연결한다.
      • Migrate 데이터베이스를 좌측 개체 탐색기에서 선택 후 우측 마우스 버튼 클릭
      • [작업] - [백업] 선택
      • 데이터베이스 백업 대화상자가 열린다.
      • [일반] 페이지 - [대상] Section 의 추가, 제거 버튼을 클릭하여 백업할 위치지정 (파일명 예: Migrate.bak)
      • [확인] 버튼을 클릭

           

  • 백업 데이터베이스 확인
    • Migrate.bak 파일이 생성되었는지 확인한다.

         

  • B-SQLServer 서버에 데이터베이스 이관
    • Migrate.bak 파일을 이관 B-SQLServer가 존재하는 PC 로컬 디스크에 복사 한다
    • Microsoft SQL Server Management Studio에서 B-SQLServer 서버 연결
    • 좌측 개체 탐색기에 존재하는 DB중 아무거나 선택하고 우측 마우스 버튼을 클릭
    • [작업] - [복원] - [데이터베이스]를 선택
    • 데이터베이스 복원 대화상자가 열린다.
    • [일반] 페이지 - [복원에 사용할 원본] Section의 라디오 버튼 중(데이터베이스, 장치) 장치를 선택하고 우측의 버튼을 클릭한다.
    • 백업 지정 대화상자가 열린다.
    • 백업 위치 영역 우측의 버튼 중 "추가"(맨 위) 버튼을 클릭한다.
    • Migrate.bak 파일을 찾아 선택하고 확인 버튼을 클릭한다.
    • 백업 지정 대화상자의 확인 버튼을 클릭하여 지정을 완료한다.
    • 장치 지정이 이뤄지면 복원에 사용할 백업 세트 선택 영역에 복원 대상 목록이 표현된다.
    • 최근 버전에 해당하는 데이터베이스 좌측의 체크박스를 선택한다.
    • [일반]페이지 - [복원 대상] Section의 데이터베이스를 Migrate (생성하려는 데이터베이스명)로 지정한다.
    • [옵션]페이지 - [복원 옵션] Section의 데이터베이스 복원 위치를 지정한다.
      • Mdf(데이터베이스 파일), ldf(로그 파일) 의 위치 및 파일명을 선택한다.
    • 이전에 존재하는 데이터베이스 일 경우, [옵션] 페이지 - [복원 옵션] Section의 최상위 체크 박스인 기존 데이터베이스 덮어쓰기를 선택한다.
    • 위의 설정을 수행하고 확인 버튼을 클릭한다.
    • 데이터베이스의 용량에 따라 수초에서 수분이 걸릴 수 있다.
    • 작업이 완료되면 생성되었다는 메시지가 뜬다.

         

  • 권한 설정 (삭제)
    • 이관한 데이터베이스는 시스템이 틀리므로 이름이 동일하더라도 내부적으로 가지고 있는 SID값이 틀려 프로그램으로 접근이 불가능 하다.
      • SELECT * FROM maste..syslogins, SELECT * From Migrate..sysusers
      • 위의 쿼리를 입력하면 틀린 SID값을 확인할 수 있다.
    • 먼저 이관한 데이터베이스의 전체 권한을 제거한다.
      • 권한 제거는 다른 UI에서 처리할 수가 없으며, 쿼리를 수행하여 삭제할 수 있다.
        • sp_dropuser 'MigDBUser'
    • 좌측 개체 탐색기에서 이관한 데이터베이스를 선택하고 우측 마우스 버튼을 클릭한다.
    • [속성]을 선택한다.
    • 데이터베이스 속성대화상자가 열린다.
    • [사용 권한] 페이지 선택을 클릭한다.
    • [사용자 또는 역할] 영역에 MigDBUser가 삭제되었는지 확인하고, 기타 다른 계정도 2) 항목과 같이 삭제 처리한다.

         

  • 권한 설정 (추가)
    • 좌측 개체 탐색기에서 [보안] - [로그인]을 선택하고 우측 마우스 버튼을 클릭한다.
    • [새 로그인]을 선택한다.
    • 로그인 - 신규 대화상자가 열린다.
    • [일반] 페이지 선택을 클릭하고 로그인 이름에 MigDBUser를 입력한다.
    • SQL Server 인증으로 체크하고 암호를 입력한다.
    • 암호 정책 강제 적용 등 옵션을 선택하고 기본 데이터베이스(Migrate)를 지정, 기본 언어 선택을 한다
    • [사용자 매핑] 페이지 선택을 클릭하고 우측에 접근할 데이터베이스 체크한다.
    • [데이터베이스 역할 맴버 자격] Section에서 db_datareader, db_owner등 권한에 맞도록 체크를 한다.
    • [확인] 버튼을 클릭하여 계정 생성을 완료한다. 
      =========================================================================================


      MSSQL2000 에서 백업 받은 DB를 다른 서버에 있는 MSSQL2000 에 복원 시켰을때 해당 DB의 사용자가 있는데 로그인 이름이 없어 로그인이 안되는 문제가 있다.

      이 문제는 해당 DB를 사용하는 사용자의 GUID가 syslogins.sid 테이블에 있는 것돠 다르기때문이다.

      EM에서 사용자에 가 보면 사용자 이름은 있는데 로그인 이름은 비어 있을 것이다.이것을 해결하기 위해서는 새 서버의 로그인 계정과 복원한 DB의 사용자 를 연결해야 한다.

      먼저 쿼리매니저에서 연결되지 않은 계정을 확인한다.

      sp_change_users_login 'Report'
      go;

      하면 사용자는 있는데 연결되지 않은 사용자의 아이디가 나온다.

      나오는 이름을 확인하고

      sp_change_users_login 'Update_one', 'username', 'username'

      go;

      를 하면 연결 작업이 끝난다. EM에서 사용자를 보면 로그인 이름이 생겨있다.


      이제 DB에 해당 사용자로 연결이 되는지 확인하면 된다.

      http://www.baragi.pe.kr/

      출처 : http://choiwonwoo.tistory.com/59

 

Posted by 당양부부34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
- 참조함수 INDIRECT, ADDRESS -

'자료'라는 시트에 회원자료가 입력되어 있다면 다른 시트에서 '자료'시트를 참조하여 입력된

값을 불러와야 할 경우가 많이 있습니다. 특히나 급여, 자재, 품목, 회원관리등에서 절대적인

위치를 차지하는게 바로 참조함수입니다.

엑셀에서 제공되는 참조함수는 아주 많습니다..

대표적으로 VLOOKUP, INDEX, MATCH, OFFSET, ROW, COLUMN 등이 흔히 사용됩니다

하지만!! 개인적으로 참조함수 중에서도 INDIRECT함수를 참 좋아한답니다^^

왜냐면 모든 참조함수가 반환할수 있는 값을 참조하여 새로운 값을 반환할 수 있기 때문입니다

그래서 이번에는 INDIRECT함수와 ADDRESS함수등을 복합적으로 이용하여 참조값을 반환해보겠습니다. 당연,, 꼭 하나의 해결책만이 존재하지는 않는답니다..

좀더 단순하게 좀더 명료하게 좀더 유동적인 방법을 찾아보려는거죠^^

미리 입력된 자료가 있을때 그 자료가 같은 시트내에 있다면 INDEX, MATCH 등으로 대부분 참조가 됩니다만, 간혹 셀병합이 된 자료에서 값을 참조할 경우나, 다른 시트, 특히 다른 파일에서 참조해야 할 경우, 기존의 참조함수만으로는 애매한 경우가 많습니다..

다른 시트나 다른 파일의 참조, 이름정의에서 빛을 보는게 INDITECT, ADDRESS함수입니다

그럼, INDIRECT 함수에 대한 도움말을 한 번 볼까요??

===========================================================================================

[INDIRECT 함수]

설명 : 텍스트 문자열로 지정된 참조를 반환합니다. 참조가 바로 계산되어 해당 내용이 표시됩니다.

수식 자체는 변경하지 않고서 수식 안에 있는 셀에 대한 참조를 변경하려는 경우에 INDIRECT 함수를 사용합니다.

구문 : INDIRECT(ref_text,a1)

인수 : ref_text => A1 스타일 참조, R1C1 스타일 참조,

참조로 정의된 이름이 들어 있는 셀에 대한 참조이거나 셀에 대한 텍스트 문자열 참조입니다.

ref_text가 유효한 셀 참조가 아닌 경우, 외부참조의 경우 다른 통합문서가 열려있지 않은 경우,

행 제한이나 열제한을 초과하는 범위를 참조할 경우에는 #REF! 오류 값이 반환됩니다.

a1 => ref_text 셀에 들어 있는 참조 유형을 지정하는 논리값입니다.

a1이 TRUE이거나 이를 생략하면 ref_text는 A1 스타일의 참조로 해석됩니다.

a1이 FALSE이면 ref_text는 R1C1 스타일의 참조로 해석됩니다.

[ADDRESS 함수]

설명 : 행 및 열 번호가 지정되었을 때 워크시트에서 셀의 주소를 확인할 수 있습니다.

예를 들어 ADDRESS(2,3)은 $C$2를 반환합니다. 또 다른 예로 ADDRESS(77,300)은 $KN$77을 반환합니다. ROW 및 COLUMN 같은 다른 함수를 사용하여 행 및 열 번호를 ADDRESS 함수의 인수로 제공할 수 있습니다.

구문 : ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

인수 : row_num => 셀 참조에 사용할 행 번호를 지정하는 숫자 값으로서 필수 항목.

column_num => 셀 참조에 사용할 열 번호를 지정하는 숫자 값으로서 필수 항목.

abs_num => 반환할 참조 유형을 지정하는 숫자 값으로서 선택 항목.(절대참조,상대참조)

a1 => A1 또는 R1C1 참조 스타일을 지정하는 논리값으로서 선택 항목.

A1 스타일에서는 열 레이블에 영문자를 사용하고 행 레이블에 숫자를 사용합니다.

R1C1 참조 스타일에서는 열과 행 모두의 레이블에 숫자를 사용합니다. A1 인수가 TRUE이거나

생략하면 A1 스타일의 참조를, 이 인수가 FALSE이면 R1C1 스타일의 참조를 반환합니다.

sheet_text => 외부 참조할 워크시트의 이름을 지정하는 텍스트 값으로서 선택 항목.

예를 들어 수식 =ADDRESS(1,1,,,"Sheet2")는 Sheet2!$A$1을 반환합니다.

===============================================================================

역시나 도움말은 언제봐도 항상 복잡합니다^^;;

INDIRECT함수를 유용하게 사용하려면 A1스타일과 R1C1스타일의 참조에 대해 알아야 합니다

A1스타일의 참조는 A1, B15, H33.. 등 열을 알파벳으로 행을 숫자로 나타내는 우리에게 친숙한

스타일의 참조 방식이구요.. R1C1스타일의 참조는 행과 열을 모두 숫자로 나타냅니다

예를 들면, RC - 현재행 현재열(상대참조 A1과 같은 역할 => 행이동, 열이동)

RC1 - 현재행 첫째열(A열, 상대행 절대열참조, $A1과 같은 역할 => 행이동, 열고정)

R4C2 - 넷째행 둘째열(4행B열, 절대행 절대열참조, 절대참조 $B$4 => 행과 열고정)

R[1]C - 행이 아래로 한칸 이동, 열은 현재열

R[-2]C[2] - 행이 위로 두칸 이동, 열은 오른쪽으로 두칸 이동

복잡하지만 사용해보면 의외로 단순하고 적응하기 쉬운 참조랍니다^^;;;

이젠 실제 사용하는 방법으로 들어가 볼까요,, 글자 보는게 슬슬 지겨워지잖아요^^

'자료'시트에 다음과 같은 내용이 입력되어 있을때, '불러오기'시트에서 참조하는 방법입니다

시트에 자료를 입력하여 관리할때는 기본적으로 셀병합을 사용하지 않으셔야 합니다

기본적인 자료를 입력해둘 시트하나는 어떠한 수식이나 서식도 없이 아주 밋밋하고 단순하게

만들어두고 그걸 보기좋게 출력할 출력시트를 별도로 두어 원하시는만큼 꾸며주시면 됩니다

출력시트에서 값을 불러오다보면 입력시트의 자료배치가 아주 중요하다는걸 알게 된답니다..

셀마다 수식을 직접 변경해준다면 굳이 엑셀의 유용함을 느끼기 어렵겠지요^^;;;

파일을 다운받아 보시면 간단한 몇 개의 예제풀이가 있습니다

예제가 많이 조잡하지만 어쩔 수 없달까요,, 전 예제만드는걸 제일 싫어하지요^^

있는 자료보고 푸는건 하겠는데 예제,, 크~ 너무 어려움

** 첫번째 예제는 회원명으로 회원번호를 불러오는 방법입니다.


INDEX함수는 범위가 정해져 있을경우 행번호와 열번호를 이용하여 값을 반환하는데 유용하고

INDIRECT함수는 행과 열을 찾아 주소를 만들고 해당 텍스트로 된 주소를 찾아 값을 반환합니다

위의 경우 열은 바뀌지 않고 행만 변하기 때문에 직접 입력하여 주소를 만들어 줍니다.

자료시트의 A열에 있는 회원번호중 이름과 같은 열에 있는 값을 반환하면 되기 때문에

"자료!A"&MATCH() 이런 수식으로 주소를 찾아오면 어떤 결과가 나올까요?

MATCH(A3,자료!$B$3:$B$16,0) => 범위에서 일치하는 값의 위치는 13입니다..

하지만 실제 행번호는 15인걸요..??

이런경우 MATCH(A3,자료!$B$3:$B$16,0)+2 로 행번호를 맞춰주거나

MATCH(A3,자료!$B$1:$B$16,0) 이렇게 찾는 범위를 1행부터 넣어주면 해결이 됩니다..

"자료!A"&MATCH(A3,자료!$B$3:$B$16,0)+2"자료!A15" 라는 셀주소를 불러옵니다.

하지만 지금 필요한건 "자료!A15"라는 셀주소가 아니라 셀에 입력된 값이니까

텍스트로 된 셀주소를 INDIRECT함수로 감싸줍니다..

INDIRECT("자료!A"&MATCH(A3,자료!$B$3:$B$16,0)+2) -> S1113[자료!A15의 값]

수식이 사용되는 과정이 이해가시나요.. 셀주소를 만들고 INDIRECT로 불러옵니다.

그런데, 텍스트로 된 주소를 만드는건 ADDRESS함수를 이용해도 가능하잖아요??

ADDRESS(행, 열,,,시트명) .. 두개의 선택항목은 크게 쓸일이 별로 없어서 ㅠㅠ;;;

위의 식도 이렇게 변경이 가능합니다.

INDIRECT(ADDRESS(MATCH(A3,자료!$B$1:$B$16,0),1,,,"자료"))

어느 수식이 사용하기에 편하시나요,, 내키는대로 쓰세요^^;;

** 두번째의 예제는 여러셀에서 값을 참조하여 불러와야 할 경우입니다.

여러셀을 불러와야 할 경우 위의 수식은 셀마다 "자료!A"& "자료!B"& 이렇게 변경해야합니다

연속된 자료를 불러오는데 이렇게 셀마다 손이 간다면 복잡한 수식을 이용하는 의미가 없죠^^


처음 사용된 수식은 INDEX함수와 MATCH함수의 조합입니다.

INDEX(자료!$B$3:$D$16,MATCH($A8,자료!$A$3:$A$16,0),COLUMN()-1)

'자료'시트와 '불러오기'시트의 머리글 순서가 일치하므로 열마다 참조를 변경하면 됩니다

단, 휴대전화의 경우 행은 한칸 내려가고 열은 앞칸의 열과 같으므로 수식이 다릅니다

INDEX(자료!$B$3:$D$16,MATCH($A8,자료!$A$3:$A$16,0)+1,COLUMN()-2)

두번째 사용된 수식은 INDIRECT함수와 ADDRESS함수의 조합입니다.

INDIRECT(ADDRESS(MATCH($A9,자료!$A$3:$A$16,0),COLUMN(),,,"자료"))

행과 열이 변한다면 [예제1]의 경우와 같이 직접 입력하는 것보다

ADDRESS와 함께 사용하는게 훨씬 유용하답니다.

역시나 휴대전화의 경우 규칙에 어긋나므로 수식을 변경해줍니다

INDIRECT(ADDRESS(MATCH($A9,자료!$A$3:$A$16,0)+1,COLUMN()-1,,,"자료"))

** 세번째는 입력된 자료를 순차적으로 불러옵니다



이 부분까지는 수식만으로 충분히 이해가 가시리라 봅니다..

사실, 기본적인 셀참조에서는 그다지 INDIRECT와 ADDRESS의 조합이 빛을 발하진 않죠^^;;;

INDEX(자료!$A$3:$D$16,ROW(A1)*2-1,COLUMN())

INDIRECT(ADDRESS(ROW(A2)*2-1,COLUMN(),,,"자료"))

** 시트상에서 바로 사용하는 수식으로써의 INDIRECT는 활용폭이 많지는 않습니다

하지만 다른 시트에서 입력값이 있는지의 여부를 확인한다거나

다른시트나 다른파일의 자료를 유효성검사의 목록으로 사용하고 싶을 때,

다른 각각의 시트의 일정셀의 값을 한꺼번에 계산하려 할때 아주 유용합니다.

만약, 자료1, 자료2, 자료3..., 자료12 의 12개의 월별시트가 있고

각 시트의 A10셀에 입력된 값을 한꺼번에 합한 결과를 원한다면 어떻게 할까요

자료1!A10 + 자료2!A10 + 자료3!A10 + ... + 자료12!A10

쉽게 생각하면 어느 12층 아파트의 베란다를 한꺼번에 부수고 싶다... 면 그 면적을 한꺼번에

옥상에서 위치를 잡아 뚫고 내려가면 되겠지요^^;; 실현가능성 없는 예입니다만 ㅡ ㅡㅋ

여러범위를 한꺼번에 계산할 때 배열수식을 사용하고, 범위를 불러올때 INDIRECT함수를 쓰고,

그럼 다음과 같은 배열수식이 가능하겠네요 =SUM(INDIRECT("자료"&.......&"!A10"))

수식의 ........부분에 1~12를 한꺼번에 넣어주려면 ROW(1:12)를 이용합니다..

INDIRECT("자료"&ROW(1:12)&"!A10") => {"자료1!A10" ; "자료2!A10" ; ... ; "자료12!A10"}

배열의 반환 결과가 텍스트로 나오는 경우가 있으니 N()함수로 감싸줍니다

SUM(N(INDIRECT("자료"&ROW(1:12)&"!A10"))) 복잡하지만 이해가시지요^^;;;

** 이젠 INDIRECT함수의 백미,, 이름정의로 넘어가 볼까요

첨부파일에 보시면 수식을 볼수 있게 수식이 드러난 부분들이 있습니다

이제까지는 사용된 수식을 나타내려면 수식을 복사해서 '=이용된 수식 이렇게 했잖아요

그런데 수식이 입력된 셀에 가보니 [=수식] 이라는 묘한 수식아닌 수식이 들어있네요^^;;;

이런 경우 바로 이름정의를 활용했구나~ 하고 이름정의를 확인해봅니다.

이름정의에 보니 여러개의 이름이 있군요.. 그 중 '수식'이라는 이름을 확인해봅니다

=GET.CELL(6,INDIRECT("rc[-1]",FALSE))

처음보는 GET.CELL 이라는게 나오네요,, GET.CELL은 매크로 함수로 셀의 정보를 반환합니다

바로 이 GET.CELL 함수를 이용해서 셀의 색상이나 글자색상으로 합을 구할 수 있습니다

이름정의에 GET.CELL함수를 사용한 경우 파일을 저장할때 매크로 포함파일로 저장해야하고,

파일을 열때도 매크로 포함으로 열어야 결과를 보실수 있답니다.

아마도 첨부파일을 매크로 포함하지 않고 열어두셨다면 #NAME? 에러를 구경하셨을 듯^^;;

GET.CELL(인수, 참조셀) 함수의 인수값에 따라 셀의 여러가지 정보를 얻을 수 있는데요

여기에서 사용되는 6이라는 인수를 넣으면 참조셀에 사용된 수식을 알아낼 수 있습니다.

그 다음 참조셀에 사용된 수식이 특이하군요.. INDIRECT("RC[-1]",FALSE)

INDIRECT함수를 사용할 경우 A1스타일 참조나 ADDRESS함수로 셀주소를 만들경우 인수를

생략가능 하지만, R1C1스타일의 참조는 반드시 FALSE 인수를 사용해야 합니다.

RC[-1] 의 의미는?? 행은 현재행, 열은 한칸 앞[왼쪽]

즉, =수식을 입력하면 바로 한칸 [왼쪽]앞의 셀에 사용된 수식을 보여달라고 하는거죠^^

물론 수식을 INDIRECT(ADDRESS(ROW(),COLUMN()-1)) 이렇게 사용하셔도 되고

INDIRECT("E"&ROW())도 결과는 같지만 열번호를 매번 변경해주셔야 한다는 단점이 있죠

다른 이름도 한번 확인해볼까요

[인덱스] =ADDRESS(QUOTIENT(ROW(),10)*10+2,1)

'인덱스'는 예제 3과 예제 4의 자료시작 위치를 반환합니다.

QUOTIENT()함수는 MOD()함수와 반대로 나눈 몫을 반환합니다.

ADDRESS()함수로 만들어진 이름이므로 결과는 $A$2, $A$12, $A$22 ...

[회원번호] =GET.CELL(6,OFFSET(INDIRECT(인덱스),1,0))

'인덱스'의 결과가 셀주소이므로 INDIRECT()함수로 반환받은 후

OFFSET()함수로 참조의 위치를 바꿔줍니다. (아래로 한칸 => 회원번호)

=> 첫번째 회원번호에 사용된 수식을 반환해줍니다

[회원명] =GET.CELL(6,OFFSET(INDIRECT(인덱스),1,1))

'인덱스'에서 한칸 아래, 오른쪽으로 한칸 이동합니다 => 회원명

=> 첫번째 회원명에 사용된 수식을 반환해줍니다

[휴대전화] =GET.CELL(6,OFFSET(INDIRECT(인덱스),1,4))

'인덱스'에서 한칸 아래, 오른쪽으로 네칸 이동합니다 => 휴대전화

=> 첫번째 휴대전화에 사용된 수식을 반환해줍니다

** 이제는 조건부 서식을 이용해보겠습니다~ 급 속도냄 ㅋㅋㅋ


위의 범위에 사용된 조건부 서식은

=COUNTIF($A$32:$C$35,A32)>1 입니다.

셀의 영역을 직접적으로 수식에 사용한 경우입니다

아래의 범위에 사용된 조건부 서식은

=COUNTIF($A$37:$C$40,INDIRECT("rc",FALSE))>1 입니다

차이는 A32 대신에 INDIRECT("rc",FALSE)를 사용한 점인데요

이름정의나 조건부서식을 이용할 경우

시작할 셀을 항상 정확하게 짚고 시작해야 한다는 불편함 아닌 불편함이 있습니다..

셀을 지정하는 부분에서 어긋나서 결과가 바로 안나오는 경우를 종종 겪어서^^;;;

그래서 저는 이름정의나 조건부 서식에서 INDIRECT("rc",FALSE) 를 사용하는 경우가 많은데요

어느 지점에서 적용하더라도 현재 행, 현재 열을 반환하기 때문에

셀의 위치를 잘못잡아서 결과가 틀려지는 경우는 없어지는 거죠^^

한가지더 확인해보고 마무리 하겠습니다..


'자료'시트에 입력된 값인지 아닌지를 확인하는 건데요.

물론 INDIRECT를 사용하지 않고 사용할 셀범위를 잡고 일반수식을 사용하셔도 결과는 같습니다.

여기에서 사용된 수식은 =일치값>0 입니다

조건부 서식을 사용할 경우 수식이 복잡하거나 참조가 많거나 배열이거나 그런 경우

결과가 바로 나오지 않는 경우가 있다면 이름정의를 이용하여 해결하면 된답니다.

사용된 이름정의를 확인해볼까요

[일치값] =COUNTIF(자료!$B$3:$B$16,INDIRECT("rc",FALSE))

자료시트에서 현재 셀의 값이 있다면 빨간색으로 표시하는 조건부서식입니다

하나의 이름정의가 남았습니당...

[수식찾기] =GET.CELL(48,INDIRECT(ADDRESS(ROW(),COLUMN())))

=GET.CELL(48,INDIRECT("RC",FALSE))

GET.CELL함수가 또 나왔네요.. 인수 48은 셀의 값이 수식의 결과인 경우 TRUE를 반환합니다

예제 3과 예제 4의 범위에서 노란색으로 칠해진 부분이 수식으로 구한 결과임을 알수있군요^^

이 밖에도 다중유효성검사등에서 유용하게 쓰일수 있는 함수가 바로 INDIRECT입니다

INDIRECT함수를 유동적으로 도와주는게 ADDRESS함수라고 생각하시면 될듯합니다^^

아래 링크에 있는 내용을 참고로 봐두시면 많은 활용이 되실듯 하네요,,

[lantan님의 매크로 함수]

http://www.examo.co.kr/tn/board.php?board=qqqCommon&page=10&command=body&no=25

[INDIRECT함수를 이용하여 그림불러오기]

http://www.examo.co.kr/tn/board.php?board=qqqCommon&page=9&command=body&no=38

http://www.examo.co.kr/tn/board.php?board=qqqCommon&page=9&command=body&no=37

[GET.CELL함수를 이용해 수식으로 필터링하기]

http://www.examo.co.kr/tn/board.php?board=qqqCommon&page=9&command=body&no=40

 

Posted by 당양부부34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

OFFSET 함수

▷함수셀 또는 쎌 범위에서 지정된 수의 행과 열로 구성되는 범위에 대한 참조를 반환합니다.
▷반환되는 참조는 단일 셀 또는 셀 범위 일 수 있습니다.

 

▶ 사용 형식

=OFFSET(reference, rows, cols,[height], [width])

 

▶ 사용 설명

1) reference : 필수 항목

   - OFFSET 함수가 동작하기 위한 기준점을 지정합니다.

 

2) rows : 필수 항목

   - reference에서 시작하는 행 이동의 수입니다.

   - 양수라면 reference에서 아래로, 음수라면 위로 이동합니다.

 

3) cols : 필수 항목

   - reference에서 시작하는 열 이동의 수입니다.

    - 양수라면 reference에서 오른쪽으로, 음수라면 왼쪽으로 이동합니다.

4) [height] : 선택 항목

   - rows와 cols로 이동한 셀에서 부터 반환되는 높이(행의 수) 입니다.

   - 양수만 가능합니다.

 

5) [width] : 선택항목

   - rows와 cols로 이동한 셀에서 부터 반환되는 너비(열의 수) 입니다.

 

 

6) 주의 사항

   - reference에서 행과 열의 이동은 reference 자체를 포함하지 않습니다.

   - 그러나, 이동한 곳에서의 height와 width를 계산할 때는 이동한 곳을 포함합니다

 

 

Posted by 당양부부34

2013. 4. 11. 09:29 경제

금융소득종합과세

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. 금융소득종합과제
  이자소득 + 배당소득

 

2. 차명계좌 증여추정 규정

현재
 - 최근 관련법이 개정되어 차명계좌의 명의자가 단순 차명 재산임을 입증하지 못하면 계좌에 돈이 입금되는 시점을 기준으로 과세당국이 증여세를 추징 할 수 있게 되었습니다.
 - 기존에는 단순 차명 계좌인지, 증여 계좌인지 과세당국이 실사를 통해 밝혀내야 했지만, 이제 납세자가 입증책임을 지게 되었습니다

개정전
 - 자력으로 재산을 취득하거나 채무를 상환했다고 인정하기 어려운 경우 증여추정 과세
 - 차명금융재산의 경우 재산취득시기는 명의자가 자금을 인출하여 사용한 경우 적용


3. 종합과세 절세 방안

더 이상 차명계좌는…..
그렇다면 합리적인 종합과세 절세 방안은 무엇일까?


대안 1 : 비과세, 분리과세 상품 활용
저축성보험, 물가채, 재형저축,브라질채권, 생계형저축,세금우대저축,유전펀드,선박펀드

대안 2 :금융자산 분산
합법적인 증여를 통한 금융자산 분산

대안 3 :이자,배당 발생 시점 분산
월지급식 상품 가입,상품별 귀속시기 분산


4. 상품별 Check List


예금∙적금
만기가 1년 이상인 예금이나 적금이 있는가? 
 
세금이슈 : 목돈을 일시 예치하는 예금이나 월 일정액을 불입하는 적금과 같이 기간이 정해진 저축은 이자를 지급받는 시점에 소득이 모두 귀속 됩니다.

대응방안
 -시기를 분산하여 예금 등을 가입하는 것이 좋지만, 일시적으로 금융소득이 많이 귀속되는 경우라면 해약 시점을 연기하여 이자 지급 시점을 미룰 수 있습니다. 다만, 금융기관별 상품에 따라 정확한 판단을 위해 상품을 가입한 금융기관에 확인을 해보아야 합니다.
 -만기가 간 것보다는 짧은 만기 주기 즉 1년 등으로 예금만기를 설정하거나 가입 시점을 달리해서 이자 발생시점을 분산하여야 합니다.


RP형 CMA
1년 이상 유지하고 있는 RP형 CMA가 있는가?

세금이슈
RP매도 시점, 즉 입출금시에 이자소득이 귀속 됩니다.
예) 연 2.8% CMA에 5억원 예치 후 2년간 입출금이 없고 일시에 출금할 경우 이자소득은 아래와 같이 한꺼번에 발생됩니다.
5억원 ⅹ 2.8% ⅹ 2 = 2천 8백만원 이자소득 발생

대응방안
연도 중 인출과 재입금을 통해 이자소득이 한꺼번에 발생하지 않도록 분산하여야 합니다.


ELS/DLS
조기 상환되지 않고 만기가 도래하는 ELS/DLS가 있는가?

세금이슈
ELS/DLS는 상환시점에 배당소득이 모두 귀속 됩니다.
예) 연 10% ELS에 1억원을 가입했을 경우 3년 만기 상환 시 배당소득은 아래와 같이 한꺼번에 발생됩니다.
1억원 ⅹ 10% ⅹ 3 = 3천만원 배당소득 발생

대응방안
 -만기 상환 지급식이 아닌, 월 지급식 상품에 투자해서 배당소득 발생시기를 분산할 수 있습니다.
 -상환 전 가족에게 증여를 통해 배당소득을 분산시킬 수 있습니다.


채권
쿠폰 이자가 높은 채권 또는 복리채를 보유하고 있는가?

세금이슈
채권은 이자지급 또는 만기 시점에 이자소득이 모두 귀속 됩니다.

대응방안
 -만기 전 일부 중도 매도를 통해 이자소득을 분산시킬 수 있습니다.
 -할인채, 복리채 보다는 이표채가 이자소득 분산에 유리합니다.


주식
배당금을 많이 지급하는 주식이 있는가?
세금이슈
배당소득은 잉여금처분결의일(주주총회일 등)에 귀속 됩니다.
예) 2011년 말 주당 배당금이 5백원인 주식을 1만주 보유하고 있을 경우, 배당소득은 2012년 귀속이 됩니다.
10,000ⅹ500=5백만원 (2012년 귀속)

대응방안
배당 기준일 전에 매도와 재매수를 하여 배당소득을 분산시킬 수 있습니다.


펀드
해외 펀드 또는 채권형 펀드가 있는가?

세금이슈
국내 주식형 펀드는 이익금의 대부분이 비과세되나,해외 펀드와 채권형 펀드는 결산일 또는 환매일에 발생한 이익금이 배당소득으로 과세됩니다.

대응방안
환매 시기를 조절하여 배당소득 귀속시기를 분산시킬 수 있습니다.

E T F 
해외 ETF 또는 실물자산 ETF를 보유하고 있는가? 

세금이슈
해외 ETF 또는 실물자산 ETF는 매매차익 발생 시점에 소득이 귀속 됩니다.
 -국내주식을 기초자산으로 한 ETF는 매매차익은 비과세지만 레버리지, 인버스 ETF는 일부 과세될 수 있습니다.
 -ETF에서 발생한 배당금은 배당소득으로 과세됩니다.
 -해외에 상장된 해외 ETF의 매매차익은 양도소득세 과세 대상입니다.

대응방안
매도 시기(연도)를 분산해서 배당소득 및 양도소득을 분산시킬 수 있습니다.


보험
10년 이상 유지한 저축성 보험이 있는가?

세금이슈
 -만기 10년 이상 저축성 보험 상품에서 발생하는 연금, 일시금은 비과세 됩니다.
 -만기 10년 이전에 해약시 보험차익은 이자소득으로 과세 됩니다.

대응방안
 -10년 이상 보험차익은 비과세 되는 소득으로 금융소득 종합과세 대상에 포함되지 않습니다.
 -10년 이전에 해약시 보험차익은 이자소득으로 과세되므로 종합과세 기준 판단시 고려하여야 합니다.


연금
2001년 이후 가입하여 받는 연금저축이 있는가?

세금이슈
 -2001년 이후 가입한 연금 저축(소득공제 상품)에서 받는 연금은 금융소득이 아닌 연금소득 과세 대상입니다.
 -따라서 2013.1.1 이후 연간 1200만원 이상 수령시(사적연금만) 종합과세 대상 입니다.
 -2012.12.31 까지의 연금소득은 600만원 이상 수령시(공적+사적연금) 종합과세 대상 입니다.

대응방안
 -연금소득이 종합과세 되는지 여부를 체크하셔야 합니다.
 -비과세 보험상품(일시납 2억원 이하 저축성 보험, 월납입식 보험 등)을 통한 연금 수령을 고려할 수 있습니다.


주식대차 거래
대차거래 신청한 주식이 있는가?

세금이슈
 -대차거래로 인한 수수료 수익는 금융소득이 아닌 기타소득으로 과세됩니다.
 -기타소득금액이 연간 300만원을 초과하면 종합과세 소득에 포함 됩니다.
 -대차거래를 신청한 주식에서 받는 배당금은 배당소득이고, Gross -up 대상은 아닙니다.

대응방안
 -수수료를 300만원 이하로 분산하면 종합과세 되지 않고 원천징수로 세금 신고가 끝날 수 있습니다.
 -기타소득원천징수 영수증을 확인 하셔서 종합소득세 신고에 누락되지 않도록 해야 합니다.
[출처] 상품별로 살펴보는 금융소득 종합과세 절세방안|작성자 KDB대우증권

 

Posted by 당양부부34

2013. 4. 10. 13:58 IT

ping과 tracert

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

ping이나 tracert 모두 ICMP 를 이용하는 프로그램 들입니다.

ping은 ICMP echo request를 대상지에 보내고 그 응답을 받아 시간을 표시하는 프로그램입니다.

만일 방화벽이마 피씨에서 icmp가 막혀 있다면 request timeout이 나오죠

tracert는 이것을 응용한것입니다.

TTL(Time to live)라는 것이 있는데 옵션입니다.

만일 ping을 ttl option을 1로 해서 보내면 첫번째 홉에서 끝납니다.

만일 2로 설정해서 보내면 2번째 홉에서 끝납니다.

이렇게 TTL을 하나씩 늘려가며 icmp request를 보내면 각각의 TTL이 끝나는 곳에서 응답이 오죠

이렇게 단계별로 목적지까지의 경로를 표시하는 것이 tracert라는 프로그랩니다.

홉은 경로상의 라우터라고 보시면 되는데 서브넷이 바뀔 때마다 홉은 하나씩 늘어납니다.

만일 목적지까지 3번 서브넷이 바뀐다면 2홉을 건너가게 되는 것입니다.

이렇듯 TTL은 한 홉마다 하나씩 줄어들게 되어 있고, 이건 패킷들이 인터넷상을 무한정 떠돌지 못하도록 설정되는 값입니다.(OS마다 서로 다른 값들이 설정됩니다.)

Posted by 당양부부34

2013. 4. 10. 09:00 IT/MSSQL

Database Naming Rule

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. Database Schema Name
1.1.
규칙
- Database Profile
이름을 의미함
- DB Alias
이름과 동일하게 함
-
영문 대문자로 작성함

- Database Short Name의 길이는 최대 8자리를 넘을 수 없음
- Database Short Name
은 각 Site Unique Name을 사용함
1.2.
표기 방식
) TOURDB, ETKP, TKS

2. Table Name
2.1.
규칙
-
테이블임을 표시하기 위해 테이블 명 뒤에 ‘_TB’ 라는 구분을 사용함
-
테이블명은 대문자로 사용함(ex> USER_LIST_TB)

(일부에서는 "_" 구분 대신 Pascal Case를 사용하기도 한다. UserList 등..)
-
시스템 구분 코드와 모듈구분코드로 업무 영역을 구분함
-
의미있는 테이블명은 3단어까지 사용할 수 있음
-
단어와 단어 사이는 ‘_’로 구성함
-
각 단어는 최대 8자리까지 사용함
-
구분명은 Table의 특성을 나타냄
-
예로는 Master, Detail, Control, Summary, Trigger, History 등이 있음
2.2.
표기 방식
<
시스템 구분> + _ + <의미있는 테이블명> + _ + TB
) 사용자 테이블 : ACT_USERS_TB

3. Column Name
3.1.
규칙
-
물리명은 영문 대문자를 이용함. 논리명을 사용자가 알 수 있는 정도에서 명사 및 명사형동사를 사용함(ex> SITE_CODE_CD)

(일부에서는 "_" 구분 대신 Camel Case를 사용하기도 한다. siteCode 등..)
- Column
에 대한 자리수는 총 12자리로 하며, 제한은 없음
, 사용하는 Database의 특성에 따라 제한될 수 있음
- Word
Word 사이에는 ‘_’로 구분함
-
Word 8자리를 넘을 수 없음
-
모든 Column Dictionary List에 등록된 약어사전 및 자료사전을 기초로 작성함
- Dictionary List
에 등록되지 않은 약어는 책임자의 동의 하에 등록함
- Column Name
은 약어의 조합으로 구성
-
컬럼명에 컬럼을 대표하는 접미사를 사용하여 컬럼명의 성격을 나타냄.
3.2.
표기방식

<
의미있는 컬럼명> 혹은 <의미있는 컬럼명> + _ + 접미사
종종 자주 사용하는 접미사는 다음과 같다.

접미사

내용

설명

_CD

CODE

주로 코드 테이블의 코드, 각종 코드에 사용된다.
숫자나 문자로 이루어진 코드에 해당되며, 숫자나 문자의 각 부분이 의미가 있는 경우에 코드를 사용한다. 대부분 PK에 해당한다
.
) 대분류 코드
CTGRY_CD,
시도코드
SIDO_CD,
사용자 그룹 코드 USER_GROUP_CD

_NM

NAME

코드에 대한 명칭에 주로 사용된다. 논리명이 이름, 명칭인 경우에 해당된다.
) 사용자이름
USER_NM,
자원명
RES_NM,
중분류 코드명
DVSN_NM,
메뉴명 MENU_NM

_NO

NUMBER

숫자로만 이루어진 경우, 주로 논리명이 번호인 경우에 사용.
) 주민등록번호
JUMIN_NO,
조문번호
JO_NO,
게시물번호 BOARD_NO

_SQ

SEQUENCE

오라클의 Sequence, MSSQL Identity의 경우에 사용한다. 숫자 일련번호로 PK를 설정할 경우 SQ를 사용한다. MSSQL Identity의 경우 주로 _ID를 사용하는 경우가 많은데, 사용자 아이디 ? USER_ID ID와 의미가 틀려 SQ를 사용한다.
) 작업번호
WORK_SQ,
이력번호 HISTORY_SQ

_ID

ID

주로 사용자 아이디의 경우에 사용한다.
) 사용자아이디
USER_ID,
등록자아이디 REG_ID

_DT

DATE

날짜의 경우 사용한다. DT는 날짜 타입이 DATE형인 경우에만 사용한다. 보통 날짜의 경우 CHAR(8)형으로 20050718식으로 저장을 많이 한다. 이런 경우에는 _YMD를 사용한다.
) 삭제일자
DEL_DT,
변경일자 CHG_DT

_YMD

YYYYMMDD

날짜의 경우 사용한다. 날짜 타입이 CHAR 인경우 사용한다. 년월일인 경우 _YMD를 사용하고, 년월형식으로 CHAR(6)로 저장될 경우 _YM을 사용한다. 년도, , 일자 인경우에는 YEAR, MONTH, DAY등의 컬럼명을 사용한다.

_GB

구분

구분값을 나타낼 때 사용한다.
CD
는 주로 코드테이블을 별도로 사용할 때 적당하고, 테이블 없이 코드상에서 구별할 때 사용한다. 가령 사용자구분 필드가 있을 때 일반사용자, 내부사용자가 있다면 별도의 사용자 그룹테이블로 분리하여 사용할 경우 GROUP_CD가 필드명이 되지만, 코드상에서 일반(G), 내부(I)로 사용하기로 결정했다면 GROUP_GB 필드명을 사용하면 된다
.
) 통계구분 STAT_GB

_ST

STATE

상태값이다. 주로 CHAR(1) 형식을 사용한다.
) 사용자 상태 USER_ST

_FL

FLAG

플레그값이다. 종종 삭제하지 않는 테이블에 삭제플레그를 많이 사용된다. 값은 0/1 이나 Y/N를 많이 사용한다.
) 삭제여부 DEL_FL, 요청여부 REQ_FL

_ORD

ORDER

순서를 나타낼 때 사용한다.
) 컬럼순서 COLUMN_ORD

_CNT

COUNT

) 조회수 VIEW_CNT

_AMT

AMOUNT

) 재고량 STOCK_AMT

_SUM

SUM

) 분기합계 QTR_SUM, 년도합계 YEAR_SUM

3.3. 순서규칙
-
기본적으로 관계형 모델에서 열(Column)의 순서는 의미가 없음.

그러나, 물리적인 형태로 생성되어 관리될 때에는 보다 효율적인 저장공간의 관리를 위해 다음 순서에 따라 우선순위를 결정함
- Primary Key
가 우선함
- Primary Key
내에서는 Index 의미에 따라 순서를 결정함
- Not Null Columns
이 우선함
- Not Null Columns
내에서는 Foreign Key, Attributes 순서로 함
- Null Columns
내에서는 다음의 규칙에 따라 순서를 결정함
- Fixed Length Columns
이 우선함(Date,Number,Char)
- Smaller Length Column
이 우선함

4. Index Name
4.1.
규칙
-
해당하는 테이블명 뒤에 ‘_IX’를 붙여 index임을 명확히 함
-
대문자를 사용함
-
일련번호는 01 ~ 99까지 사용할 수 있음
- MSSQL
의 경우 클러스터드 인덱스와 넌 클러스터드 인덱스를 구분하여 작성함.

클러스터드 인덱스 _IXC를 사용하며, 넌 클러스터드 인덱스는 일반 인덱스 명 룰을 따름.
-
테이블에 인덱스가 하나만 존재할 경우 일련번호를 사용하지 않아도 됨
.
4.2.
표기 방식

<
시스템 구분> + _ + <의미있는 테이블명> + _ + IX{<일련번호>}
) Table명 ‘I01_MASTER_TB’의 Index : I01_MASTER_IX01

5. Primary Key Name
5.1.
규칙
-
영문 대문자로 작성함
-
해당하는 테이블명의 맨 뒤에 ‘_PK’라는 구분을 사용함
5.2.
표기방식
<
시스템 구분> + _ + <의미있는 테이블명> + _ + PK
) Table 명 ‘AC_USERS_TB’의 Primary Key : AC_USERS_PK

6. Foreign Key Name
6.1.
규칙
-
영문 대문자로 작성함
-
해당하는 테이블명의 맨 뒤에 ‘_FK’라는 구분을 사용함
-
일반적으로 테이블명과 컬럼명까지 사용하나, OBJECT의 명칭이 길어져서 테이블명을 기준으로 작성함.
-
일련번호
: 1 ~ 9
6.2.
표기방식

<
시스템 구분> + _ + <의미있는 테이블명> + _ + FK{<일련번호>}
) Table 명 ‘I01_MASTER_TB’의 Foreign Key : I01_MASTER_FK1

7. Stored Procedure Name
7.1.
규칙
-
길이는 큰 제한이 없으나 오라클의 OBJECT NAME 길이 제한은 있음.
-
해당하는 테이블명의 맨 뒤에 ‘_SP’라는 구분을 사용함

-
기능명은 복수개 사용이 가능하면 3개의 단어를 넘지 않도록 함
-
기능을 나타내는 명칭이 하나일 경우 일련번호를 생략해도 됨.
-
단어간에는 ‘_’로 구분함

-
업무룰에 해당되지 않는, 혹은 특정 테이블에 해당되지 않는 DBMS 전반적인 프로시저의 경우,

시스템 프로시저로 작성하는 경우에는 시스템구분 과 테이블명을 생략하고 간단히 작성할 수 있다.

) 스키마 스크립트 GENERATION ? GENERATE_SP
-
오라클의 경우 패키지 내부의 프로시저의 경우 패키지 명칭에 시스템구분을 사용하므로,

프로시저나 함수명에 시스템구분 코드를 넣지 않는다.

또한 기능에 따른 일련번호를 사용하지 않고 OOP의 기능인 Method Overloading 의 기능을 사용하여 작성한다.

또한 명칭은 Camel 표기법을 사용하여 작성한다. ) 사용자를 가져오는 경우 getUsers()
7.2.
표기방식

<
시스템 구분> + _ + <의미있는 테이블명> + _ + <기능명>{<일련번호>} + _ + SP
) I01_MASTER_TB’ 테이블에서 데이타 입력에 대한
Procedure
: I01_MASTER_INS01_SP

기능명

명칭

설명

INS

INSERT

단일 테이블의 단순 INSERT 작업인 경우, 사용자 테이블에 데이터 입력 프로시저의 경우 업무룰이 복잡하여 여러 테이블에 걸쳐 삽입 작업이 된다면(서버측 트랜잭션이 구현된다면) INS를 사용하지 않고, REG를 사용한다.

UDT

UPDATE

단일 테이블의 단순 UPDATE 작업의 경우

DEL

DELETE

단일 테이블의 단순 삭제인 경우

LST

LIST

SELECT문을 사용하여 조회하는 경우

REG

REGISTER

등록작업(트랜잭션을 사용하여 여러 테이블에 입력 작업이 이루어질 때)

MOD

MODIFY

수정작업(트랜잭션을 사용하여 여러 테이블에 수정 작업이 이루어질 때)

REM

REMOVE

삭제작업(트랜잭션을 사용하여 여러 테이블에 삭제 작업이 이루어 질 때)

8. Function Name
8.1.
규칙
-
길이는 제한이 없으며 영문 대문자를 사용함
-
해당하는 테이블명의 맨 뒤에 ‘_FC’라는 구분을 사용함을 원칙으로 하나,

함수명이 길어서 사용상 불편할 경우, 특정 시스템에 국한하지 않고, 항상사용하는 라이브러리 같은 함수의 경우

구분가능한 Short Name을 사용해도 무방하다.
-
단어간에는 ‘_’로 구분함

-
시스템 함수로 작성한 경우에는 접미사를 사용하지 않고, 간략한 함수이름을 사용한다. ) INSTR, LEASTR(@x bigint, @y bigint)
-
오라클의 경우 패키지 내부의 함수의 경우에는 프로시저의 해당 규칙에 따른다.

즉 시스템구분 코드와 접미사를 사용하지 않고, Camel 표기법으로 간략하게 작성한다.
8.2.
표기방식

<
시스템 구분> + _ + <기능명> + _ + FC
) I01_MASTER_TB’ 테이블에서 주소명를 가져오기 위한
Function
: I01_GET_ADDRESSNAME_FC(p_AddressCode IN Char)
내지는

: getAddressName(p_AddressCode IN Char)

9. Table Trigger Name
9.1.
규칙
-
영문 대문자로 작성함
-
일련번호는 01 ~ 99까지 사용 가능함
9.2.
표기방식
<
시스템 구분> + _ + <의미있는 테이블명> + _ + <일련번호> + _ + TG
- Timing : B(Before), A(After)
- Trigger Event : I(Insert), D(Delete), U(Update)

) I01_MASTER_TB’ 테이블에서 데이타 입력 후에 실행되는 Trigger
: I01_MASTER_AU01_TG

10. View Name
10.1.
규칙
-
길이는 제한이 없으며, 영문 대문자로 작성함
-
해당하는 테이블명의 맨 뒤에 ‘_VW’라는 구분을 사용함
-
일련번호는 01 ~ 99까지 사용할 수 있음
10.2.
표기방식
<
시스템 구분> + _ + <의미있는 테이블명><일련번호> + _ + VW
) AC_ADMINL_USER_VW

11. Sequence Name <오라클의 경우에만 해당>
11.1.
규칙

-
길이는 제한이 없으며 영문 대문자를 사용함
-
해당하는 테이블명의 맨 뒤에 ‘_SQ’라는 구분을 사용함
11.2.
표기방식
<
시스템 구분> + _ + <의미있는 테이블명> + _ + SQ
) I01_MASTER_TB’ 테이블의 Sequence : I01_MASTER_SQ

12. Package Name<오라클의 경우에만 해당>
12.1.
규칙

-
길이는 제한이 없으며 영문 대문자를 사용함
-
해당하는 테이블명의 맨 뒤에 ‘_PKG’라는 구분을 사용함
12.2.
표기방식
<
시스템 구분> + _ + <의미있는 패키지명> + _ + PKG
) 검색엔진에서 사용하는 자원에 관련된 패키지 : SCH__PKG

13. Check 제약조건
13.1.
규칙
-
길이는 제한이 없으며 영문 대문자를 사용함
-
기존의 명칭룰에 해당하는 접미사를 사용하지 않고, 예외적으로 접두어 CK_를 사용한다.
일반적으로 CHECK DEFAULT 제약조건은 특정 테이블에 한정시켜서 작성하기 보다는

시스템 전반에 걸쳐서 사용이 가능하므로 예외규정을 둔다.
13.2.
표기방식

CK +
_ + <의미있는 CHECK>
) 이메일 체크
: CK_EMAIL
) 성별 체크 : CK_SEX

14. Default 제약조건
14.1.
규칙
-
길이는 제한이 없으며 영문 대문자를 사용함
-
기존의 명칭룰에 해당하는 접미사를 사용하지 않고, 예외적으로 접두어 DF_를 사용한다.
일반적으로 CHECK DEFAULT 제약조건은 특정 테이블에 한정시켜서 작성하기 보다는

시스템 전반에 걸쳐서 사용이 가능하므로 예외규정을 둔다
14.2.
표기방식
DF +
_ + <의미있는 DEFAULT>
) Null String Default ? DF_NULLSTR
) 0(Zero) Default ? DF_ZERO

'IT > MSSQL' 카테고리의 다른 글

임의의 컬럼( column ) 명이 있는 전체 테이블 ( table ) 찾기.  (0) 2013.05.28
MSSQL DB 이관  (0) 2013.04.24
MSSQL 문자열 함수  (0) 2013.04.09
Trigger 트리거 관련 정보 조회.  (0) 2013.04.09
MSSQL Data Type(2)  (0) 2013.04.01
Posted by 당양부부34

2013. 4. 9. 18:08 IT/MSSQL

MSSQL 문자열 함수

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

1) Ascii() - 문자열의 제일 왼쪽 문자의 아스키 코드 값을 반환(Integer)

예) SELECT Ascii('abcd')

>> 결과는 a의 아스키 코드값인 97 반환

1-1) Char() - 정수 아스키 코드를 문자로 반환(Char)

예) SELECT Char(97) >> 결과는 a 반환

1-2)Nchar() - 지정한 정수 코드의 유니코드 문자 반환

예) SELECT Nchar(65) 결과 >> A

1-3)Unicode() - 식에 있는 첫번째 문자의 유니코드 정수 값을 반환

예)SELECT Unicode('abcde') 결과 >> 97


3) Charindex() - 문자열에서 지정한 식의 위치를 반환 ????

예) SELECT Charindex('b','abcde') >> 결과 : 2 1,2,3
SELECT Charindex('b','abcde',2) >> 결과 : 2
SELECT Charindex('b','abcde',3) >> 결과 : 0

-- 인수값이 3개일때 마지막은 abcde 에서의 문자열 검색 시작위치를 말하며

2인경우는 bcde 라는 문자열에 대해서 검색

3인 경우는 cde 라는 문자열에 대해서 검색 하게 된다.

5) Left() - 문자열에서 왼쪽에서부터 지정한 수만큼의 문자를 반환 1,2,3 이네.. mssql은

예) SELECT Left('abced',3) 결과 >> abc
Right() - 문자열의 오른쪽에서 부터 지정한 수 만큼 반환(Left() 와 비슷 )

예) SELECT Right('abcde',3) 결과>> cde

6) Len() - 문자열의 길이 반환

예) SELECT Len('abced') 결과>>5

7) Lower() - 대문자를 소문자로 반환

예) SELECT Lower('ABCDE') 결과 >> abcde

Upper() - 소문자를 대문자로 반환

예) SELECT Upper('abcde') 결과>> ABCDE

8) Ltrim() - 문자열의 왼쪽 공백 제거

예) SELECT Ltrim(' AB CDE') 결과>> AB CDE

Rtrim() - 문자열의 오른쪽 공백 제거

예) SELECT Rtrim(' ab cde ') 결과>> ' ab cde' <-- 공백구분을위해 ' 표시

10) Replace - 문자열에서 바꾸고 싶은 문자 다른 문자로 변환

예) SELECT Replace('abcde','a','1') 결과>>1bcde

11) Replicate() - 문자식을 지정한 횟수만큼 반복

예) SELECT Replicate('abc',3) 결과>> abcabcabc

12) Reverse() - 문자열을 역순으로 출력

예) SELECT Reverse('abcde') 결과>> edcba

15) Space() - 지정한 수만큼의 공백 문자 반환

예) SELECT Space(10) 결과 >> ' ' -- 그냥 공백이 나옴

확인을 위해서 SELECT 'S'+Space(10)+'E' 결과 >> S E

16) Substring() - 문자,이진,텍스트 또는 이미지 식의 일부를 반환

예) SELECT Substring('abcde',2,3) 결과>> bcd

※ 기타 함수 Tip

19) Isnumeric - 해당 문자열이 숫자형이면 1 아니면 0을 반환

>> 숫자 : 1 , 숫자X :0

예) SELECT Isnumeric('30') 결과 >> 1

SELECT Isnumeric('3z') 결과 >> 0

20) Isdate() - 해당 문자열이 Datetime이면 1 아니면 0
lsdate(4444) >>결과 0 >> 날짜 : 1 , 날짜 X :0

'IT > MSSQL' 카테고리의 다른 글

MSSQL DB 이관  (0) 2013.04.24
Database Naming Rule  (0) 2013.04.10
Trigger 트리거 관련 정보 조회.  (0) 2013.04.09
MSSQL Data Type(2)  (0) 2013.04.01
MSSQL Data Type  (0) 2013.04.01
Posted by 당양부부34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

SELECT (SELECT F.name FROM sysusers F WHERE N.uid=F.uid) as 'TABLE_OWNER'
  ,N.name as 'TABLE_NAME'
  ,(SELECT G.name FROM sysusers G WHERE T.uid=G.uid) as 'TRIGGER_OWNER'
  ,T.TRIGGER_NAME as 'TRIGGER_NAME'
FROM sysobjects N,
(SELECT name as TRIGGER_NAME, parent_obj,crdate,uid FROM sysobjects WHERE xtype='TR' and name like 'TR_%') T
WHERE N.id=T.parent_obj
ORDER BY T.TRIGGER_NAME

'IT > MSSQL' 카테고리의 다른 글

Database Naming Rule  (0) 2013.04.10
MSSQL 문자열 함수  (0) 2013.04.09
MSSQL Data Type(2)  (0) 2013.04.01
MSSQL Data Type  (0) 2013.04.01
MSSQL Int (Integer) Type  (0) 2013.04.01
Posted by 당양부부34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

jQuery로 선택된 값 읽기

$("#select_box option:selected").val();
$("select[name=selectbox]").val();

jQuery로 선택된 내용 읽기
$("#selectbox option:selected").text();

선택된 위치
var index = $("#test option").index($("#test option:selected"));

 

 

 

// 셀렉트 박스 옵션에 추가(기존 옵션 뒤쪽으로 추가)
$("#myselect").append("<option value='1'>Apples</option>");
$("#myselect").append("<option value='2'>After Apples</option>");

// 옵션 시작 부분(맨 앞에) 추가
$("#myselect").prepend("<option value='0'>Before Apples</option>");

// 옵션값을 새롭게 정의
$("#myselect").html("<option value='1'>Some oranges</option><option value='2'>More Oranges</option><option value='3'>Even more oranges</option>");

// 옵션값의 인덱스 번호를 변경
$("#myselect option:eq(1)").replaceWith("<option value='2'>Some apples</option>");
$("#myselect option:eq(2)").replaceWith("<option value='3'>Some bananas</option>");

// 2번 인덱스의 값을 선택된 상태로 변경
$("#myselect option:eq(2)").attr("selected", "selected");

// 텍스트 내용으로 선택된 상태로 변경
$("#myselect").val("Some oranges").attr("selected", "selected");

// 선택된 옵션의 값을 변경
$("#myselect").val("2");

// index번호가 0인것을 제거
$("#myselect option:eq(0)").remove();

// 첫번째 옵션 엘리먼트를 제거
$("#myselect option:first").remove();

// 마지막 옵션 엘리먼트를 제거
$("#myselect option:last").remove();

// 선택된 텍스트 알림으로 보이기
alert($("#myselect option:selected").text());

// 선택된 값 알림으로 보이기
alert($("#myselect option:selected").val());

// 선택된 옵션의 인덱스 번호 보이기
alert($("#myselect option").index($("#myselect option:selected")));

// Alternative way to get the selected item
alert($("#myselect option:selected").prevAll().size());

// 0번 인덱스 다음으로 옵션을 추가
$("#myselect option:eq(0)").after("<option value='4'>Some pears</option>");

// 3번 인덱스 이전에 옵션을 추가
$("#myselect option:eq(3)").before("<option value='5'>Some apricots</option>");

// select 박스의 값이 변경되었을 때 알링으로 값과 텍스트 보이기
$("#myselect").change(function() {
alert($(this).val());
alert($(this).children("option:selected").text());
});


 

'IT > jquery_javascript' 카테고리의 다른 글

jquery select selector  (0) 2013.08.23
DOM Script 정리  (0) 2013.08.21
jquery 문자열 함수  (0) 2013.08.20
jquery : input  (0) 2013.04.05
jquery rolling and slider  (0) 2013.04.01
Posted by 당양부부34

블로그 이미지
주요 토렌트를 블로깅하고 있습니다. 토렌트 순위 등은 다른 사이트를 찾아보세요. 주요 웹툰 순위도 게재했어요 경제를 좋아하는 일산의 행복한 프로그래머입니다.
당양부부34
Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함