블로그 이미지
010-9967-0955 보미아빠

카테고리

보미아빠, 석이 (500)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 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

공지사항

최근에 올라온 글

단축키

카테고리 없음 / 2011. 1. 30. 07:53

cmd
ctrl alt shift + enter (관리자모드)
defrag e:


윈도우에서쓰는 명령어_단축키 모음(시작->실행)

 

윈도우 단축키 | Knowledge Transfer Center
2007.03.15 11:54
피렌체(youjaehak) 카페 매니저
http://cafe.naver.com/network1/173 <INPUT id="cafeurlstr" type="hidden" value="http://cafe.naver.com/network1/173" name="cafeurlstr">

[일반 명령어]

[01] calc [계산기]
[02] charmap [문자표]
[03] cleanmgr [디스크 정리]
[04] clipbrd [클립보드에 복사된 내용 표시]
[05] cmd [도스 명령 프롬프트 실행 단, 윈98은 command]
[06] control [제어판]
[07] dfrg.msc [디스크 조각모음]
[08] dxdiag [다이렉트X 진단도구 및 그래픽과 사운드의 세부정보를 보여줌]
[09] eudcedit [사용자 정의 문자 편집기]
[10] explorer [탐색기]
[11] magnify [돋보기]
[12] mobsync [동기화]
[13] msconfig [시작프로그램 제어등 많은기능 제공]
[14] msinfo32 [시스템정보]
[15] mstsc [원격 데스크톱 연결]
[16] netstat -na [현재 열린포트와 TCP/IP 프로토콜정보를 보여줌]
    열린 포트로 트라이 목마형 바이러스 침투 유무 확인 가능
[17] notepad [메모장]
[18] ntbackup [백업 및 복원 마법사]
[19] osk [화상키보드]
[20] pbrush 또는 mspaint [그림판]
[21] ping 사이트주소 [핑테스트 해당 사이트의 인터넷연결 유무 확인]
[22] regedit [레지스트리 편집기]
[23] sfc [시스템 파일 검사기]
- 시스템 파일을 검사한후 깨지거나 손실된 파일을 원본 압축파일에서 찾아서 복원시켜줌
  단, 윈2000에서는 cmd실행 후 sfc사용 - 마지막 설정된 값을 다음 윈도우부팅시 곧바로 실행됨
[24] sndrec32 [녹음기]
[25] sndvol32 [시스템 사운드 등록정보,볼륨조절]
[26] sysedit [autoexec.bat, config.sys, win.ini, system.ini 시스템구성편집기]
[27] systray [사운드 볼륨설정 노란색 스피커 아이콘을 트라이목록에 띄움]
[28] telnet open 사이트주소 [텔넷접속명령어]
[29] tourstart [윈도우 기능안내 html 문서표시]
[30] wab [주소록]
[31] winipcfg [인터넷에 접속된 자신의 아이피 주소를 보여줌 단, 윈2000은 ipconfig로 변경됨]
[32] winmine [지뢰찾기]
[33] winver [윈도우 버전확인]
[34] wmplayer [윈도우 미디어 플레이어]
[35] wordpad [워드패드]
[36] wscui.cpl [보안센터]
[37] wupdmgr [윈도우업데이트]

 
[MSC 명령어]

[01] certmgr.msc [인증서 관리]
[02] ciadv.msc [인덱싱 서비스]
[03] comexp.msc [구성 요소 서비스]
[04] compmgmt.msc [컴퓨터 관리]
[05] control userpasswords2 [사용자 계정]
[06] devmgmt.msc [장치관리자]
[07] dfrg.msc [디스크 조각 모음]
[08] diskmgmt.msc [디스크 관리]
[09] eventvwr.msc [이벤트 뷰어 (이벤트 로그)]
[10] fsmgmt.msc [공유 폴더 (공유 폴더 관리)]
[11] gpedit.msc [그룹 정책]
[12] lusrmgr.msc [로컬 사용자 및 그룹]
[13] ntmsmgr.msc [이동식 저장소]
[14] ntmsoprq.msc [이동식 저장소 운영자 요청]
[15] perfmon.msc [성능모니터뷰]
[16] rsop.msc [정책의 결과 집합]
[17] secpol.msc [로컬 보안 설정]
[18] services.msc [서비스]
[19] wmimgmt.msc [WMI(Windows Management Infrastructure) 서비스 구성]


[제어판 실행 명령어]

[01] Access.cpl [내게 필요한 옵션]
[02] appwiz.cpl [프로그램 추가/제거]
[03] bthprops.cpl [블루투스 장치 설정]
[04] control Admintools [관리도구]
[05] control Folders [폴더옵션]
[06] control Userpasswords [사용자 계정]
[07] desk.cpl [디스플레이 등록정보]
[08] firewall.cpl [Windows 방화벽]
[09] hdwwiz.cpl [새 하드웨어 추가 마법사]
[10] inetcpl.cpl [인터넷 등록정보]
[11] intl.cpl [국가 및 언어 옵션]
[12] irprops.cpl [적외선 포트 설정]
[13] joy.cpl [게임 컨트롤러]
[14] main.cpl [마우스 등록정보]
[15] mmsys.cpl [사운드 및 오디오 장치 등록정보]
[16] ncpa.cpl [네트워크 연결]
[17] netsetup.cpl [네트워크 설정 마법사]
[18] nusrmgr.cpl [사용자 계정]
[19] nwc.cpl [네트워크 게이트웨이]
[20] odbccp32.cpl [ODBC 데이터 원본 관리자]
[21] powercfg.cpl [전원 옵션 등록정보]
[22] Sapi.cpl [텍스트 음성 변환설정]
[23] sysdm.cpl [시스템 등록정보]
[24] telephon.cpl [전화 및 모뎀 옵션]
[25] timedate.cpl [날짜 및 시간 등록정보]
[26] wscui.cpl [Windwos 보안센터]
[27] wuaucpl.cpl [자동업데이트]
------------------------------------------------------------------------------------------------------------------------

1. [drwatson]
에러가 발생하여 컴을 강제 종료 시켜야할 상황등을 겪으셨다면
꼭 알고 있어야할 명령어..실행하면 에러 다이얼로그 박스를 잡아
줍니다..

2. [msconfig]
시작프로그램및 서비스를 중지 시킨다거나 하는등의
시스템 리소스 확보를 위한
윈도우의 기초적인 환경설정을 할수 있죠.

3. [netstat -na ]
현재 내컴에 접속되어 있는 IP를 출력 합니다.
부속적인 다양한 옵션이 있습니다..

4. [conf ]
원도에서 기본제공하는 원격관리 툴인
netmeeting를 실행시켜줍니다.

5. [ping] 상대방 IP로 접속이 가능한지 때려보는 명령
ping yahoo.co.kr  등.....
회선속도및 대상 컴퓨터의 OS판단이 가능함.

6. [xcopy ]
copy명령어보다 상당한 기능을 제공하는 복사명령어
하드의 OS까지 복사 가능함...
XCOPY C: D: /S/C/H/E/R/K  범용적인 옵션
예전의 98및 도스시절에 많이 쓰던 명령어 이죠..

7. [ipconfig]
명령프롬프터에서 실행시키면 내컴의 IP를 알수 있음
[config/renew] 동적 IP를 새로이 잡아줌.
[config/release] 동적 IP를 삭제함

8. [cmd] 명령 프롬프트(윈도우 도스)를 실행시키는 명령

9.  [sfc /Scannow] 
오류난 파일을 검색하여 원본으로 재 배치 할때 씁니다.

10. [regedit]
레지스트리 편집기를 실행 합니다.

11. [oobe/msoobe /a ]
원도우 정품 확인 명령어

12. [scandisk c:]
도스상의 명령어로 윈도우위 디스크 검사와 동일 합니다.

13. [ren *.txt *.bak  ]
파일명 바꾸는 도스 명령어
ren a.txt b.txt  - a.txt 파일을 b.txt 파일로 이름을 바꿈

14. [tracert 대상 사이트 주소]
예:tracert yahoo.co.kr
야후까지  경유해가는 IP를 출력해 줍니다.
(IP 를 추적할수도 있죠)

15. [shutdown -a ]
악성 바이러스및 자동종료 웜등으로 부터 자동종료를 막을때..

16. [dxdiag ]
컴의 다이렉트 x 버젼확인

17. 관리 관련 명령어
certmgr.msc : 인증서 관리

ciadv.msc : 인덱싱 서비스

compmgmt.msc : 컴퓨터 관리
   
devmgmt.msc : 장치관리자
   
diskmgmt.msc : 디스크 관리
   
dfrg.msc : 디스크 조각모음
   
eventvwr.msc : 이벤트 뷰어
   
fsmgmt.msc : 공유폴더
   
gpedit.msc : 로컬 컴퓨터 정책
   
lusrmgr.msc : 로컬 사용자 및 그룹

ntmsmgr.msc : Removable Storage

ntmsoprq.msc : 이동식 저장소 운영자 요청

perfmon.msc : 성능모니터뷰
   
rsop.msc : 정책의 결과와 집합
   
secpol.msc : 로컬 보안설정
   
services.msc : 서비스

wmimgmt.msc : WMI 서비스 구성

comexp.msc : comexp 구성 요소 서비스

control userpasswords2 : 사용자 계정

18. [deltree]
도스에서. 하위 디렉토리까지 포함하여. 삭제 가능한 명령어..
del이나 erase 보다 막강한 기능제공
(  deltree XXX  )

19. [mstsc.exe]
원격 데스크톱 연결 사용

20. [rcimlby.exe -LaunchRA]
msn 메신저로 상대에게 원격지원요구

21. 시작메뉴명령어들

Accessibility Wizard [Accwiz.exe]

Narrator [Narrator.exe ]

Address book [Wab.exe]

Notepad [Notepad.exe ]

Backup [Ntbackup.exe]

On-Screen Keyboard [Osk.exe ]

Calculator [Calc.exe]

outlook express [Msimn.exe ]

Character map [Charmap.exe]

Paint [Mspaint.exe ]

Command prompt [Cmd.exe]

Pinball [Pinball.exe ]

Data sources (ODBC) [Odbcad32.exe]

Remote Assistance [Rcimlby.exe ]

Disk cleanup [Cleanmgr.exe]

Remote Desktop Connection [Mstsc.exe ]

FreeCell [Freecell.exe]

Solitaire [Sol.exe ]

Files and Settings Transfer Wizard [Migwiz.exe]

Sound Recorder [Sndrec32.exe ]

Hearts [Mshearts.exe]

Spider Solitaire [Spider.exe ]

HyperTerminal [Hypertrm.exe]

System Information [Msinfo32.exe]

Internet Backgammon [Bckgzm.exe]

System Restore [Rstrui.exe]

Internet Checkers [Chkrzm.exe]

Tour Windows XP [Tourstart.exe ]

Internet Explorer [Iexplore.exe]

Utility Manager [Utilman.exe ]

Internet Hearts [Hrtzzm.exe]

Windows Media Player [Wmplayer.exe ]

Internet Reversi [Rvsezm.exe]

Windows Messenger [Msmsgs.exe ]

Internet Spades [Shvlzm.exe]

Windows Movie Maker [Moviemk.exe ]

Magnifier [Magnify.exe]

Windows Update [Wupdmgr.exe ]

Minesweeper [Winmine.exe]

WordPad [Wordpad.exe ]

MSN Explorer [Msn6.exe]


25. 제어판의 모듈실행명령어

[Access.cpl] 내게필요한옵션

[Mmsys.cpl] 사운드 및 오디오 장치 등록정보

[Appwiz.cpl] 프로그램추가제거

[Nusrmgr.cpl] 사용자계정

[Desk.cpl] 디스플레이등록정보

[Nwc.cpl] Client Service for NetWare

[Hdwwiz.cpl] 하드웨어추가마법사

[Odbccp32.cpl] ODBC 데이터 원본 관리자

[Inetcpl.cpl] 인터넷등록정보

[Powercfg.cpl] 전원옵션등록정보

[Intl.cpl] 국가및언어옵션

[Sysdm.cpl] 시스템등록정보

[Joy.cpl] 게임컨트롤러 

[Telephon.cpl] 전화및모뎀옵션

[Main.cpl] 마우스등록정보

[Timedate.cpl] 날짜및시간등록정보

Posted by 보미아빠
, |

split

카테고리 없음 / 2011. 1. 28. 15:14

 

IF OBJECT_ID (N'dbo.split') IS NOT NULL
    DROP FUNCTION dbo.split
GO

CREATE FUNCTION dbo.split(@b varchar(8000))
RETURNS @t table
(a int identity(1,1)
,b varchar(8000)
)
as
begin
set @b = @b + ','
declare
  @v0 varchar(8000), @v1 varchar(8000), @v2 varchar(8000), @v3 varchar(8000), @v4 varchar(8000), @v5 varchar(8000), @v6 varchar(8000), @v7 varchar(8000)
, @v8 varchar(8000), @v9 varchar(8000), @v10 varchar(8000), @v11 varchar(8000), @v12 varchar(8000), @v13 varchar(8000), @v14 varchar(8000), @v15 varchar(8000)
, @v16 varchar(8000), @v17 varchar(8000), @v18 varchar(8000), @v19 varchar(8000), @v20 varchar(8000), @v21 varchar(8000), @v22 varchar(8000), @v23 varchar(8000)
, @v24 varchar(8000), @v25 varchar(8000), @v26 varchar(8000), @v27 varchar(8000), @v28 varchar(8000), @v29 varchar(8000), @v30 varchar(8000), @v31 varchar(8000)
, @v32 varchar(8000), @v33 varchar(8000), @v34 varchar(8000), @v35 varchar(8000), @v36 varchar(8000), @v37 varchar(8000), @v38 varchar(8000), @v39 varchar(8000)
, @v40 varchar(8000), @v41 varchar(8000), @v42 varchar(8000), @v43 varchar(8000), @v44 varchar(8000), @v45 varchar(8000), @v46 varchar(8000), @v47 varchar(8000)
, @v48 varchar(8000), @v49 varchar(8000), @v50 varchar(8000), @v51 varchar(8000), @v52 varchar(8000), @v53 varchar(8000), @v54 varchar(8000), @v55 varchar(8000)
, @v56 varchar(8000), @v57 varchar(8000), @v58 varchar(8000), @v59 varchar(8000), @v60 varchar(8000), @v61 varchar(8000), @v62 varchar(8000), @v63 varchar(8000)
, @v64 varchar(8000), @v65 varchar(8000), @v66 varchar(8000), @v67 varchar(8000), @v68 varchar(8000), @v69 varchar(8000), @v70 varchar(8000), @v71 varchar(8000)
, @v72 varchar(8000), @v73 varchar(8000), @v74 varchar(8000), @v75 varchar(8000), @v76 varchar(8000), @v77 varchar(8000), @v78 varchar(8000), @v79 varchar(8000)
, @v80 varchar(8000), @v81 varchar(8000), @v82 varchar(8000), @v83 varchar(8000), @v84 varchar(8000), @v85 varchar(8000), @v86 varchar(8000), @v87 varchar(8000)
, @v88 varchar(8000), @v89 varchar(8000), @v90 varchar(8000), @v91 varchar(8000), @v92 varchar(8000), @v93 varchar(8000), @v94 varchar(8000), @v95 varchar(8000)
, @v96 varchar(8000), @v97 varchar(8000), @v98 varchar(8000), @v99 varchar(8000)

select
  @v0 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v1 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v2 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v3 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v4 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v5 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v6 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v7 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v8 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v9 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v10 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v11 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v12 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v13 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v14 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v15 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v16 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v17 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v18 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v19 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v20 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v21 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v22 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v23 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v24 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v25 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v26 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v27 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v28 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v29 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v30 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v31 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v32 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v33 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v34 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v35 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v36 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v37 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v38 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v39 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v40 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v41 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v42 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v43 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v44 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v45 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v46 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v47 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v48 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v49 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v50 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v51 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v52 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v53 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v54 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v55 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v56 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v57 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v58 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v59 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v60 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v61 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v62 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v63 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v64 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v65 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v66 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v67 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v68 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v69 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v70 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v71 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v72 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v73 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v74 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v75 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v76 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v77 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v78 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v79 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v80 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v81 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v82 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v83 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v84 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v85 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v86 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v87 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v88 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v89 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v90 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v91 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v92 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v93 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v94 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v95 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v96 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v97 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v98 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')
, @v99 = replace(left(@b, charindex (',',@b)),',',''),@b = stuff(@b,1,charindex (',',@b),'')

 

insert into @t values
 (@v0),(@v1),(@v2),(@v3),(@v4),(@v5),(@v6),(@v7),(@v8),(@v9)
,(@v10),(@v11),(@v12),(@v13),(@v14),(@v15),(@v16),(@v17),(@v18),(@v19)
,(@v20),(@v21),(@v22),(@v23),(@v24),(@v25),(@v26),(@v27),(@v28),(@v29)
,(@v30),(@v31),(@v32),(@v33),(@v34),(@v35),(@v36),(@v37),(@v38),(@v39)
,(@v40),(@v41),(@v42),(@v43),(@v44),(@v45),(@v46),(@v47),(@v48),(@v49)
,(@v50),(@v51),(@v52),(@v53),(@v54),(@v55),(@v56),(@v57),(@v58),(@v59)
,(@v60),(@v61),(@v62),(@v63),(@v64),(@v65),(@v66),(@v67),(@v68),(@v69)
,(@v70),(@v71),(@v72),(@v73),(@v74),(@v75),(@v76),(@v77),(@v78),(@v79)
,(@v80),(@v81),(@v82),(@v83),(@v84),(@v85),(@v86),(@v87),(@v88),(@v89)
,(@v90),(@v91),(@v92),(@v93),(@v94),(@v95),(@v96),(@v97),(@v98),(@v99)

 return
end
GO


declare @max_cnt int
, @a  int
set @max_cnt = 1000


while (1=1) begin
 select @a = count(*) from dbo.split('sys5,432,54,35,432,5,2436246,,236,32,5,34,543,25,5,43,5432,5,43,25,rscolsaa,a111111111a,v,d,d,d,d,d,d,d,d,d,d,d,d,d,,d,d,d,d,d,d,d,d,111111,,,,,,,,11111111111111111111111,111111111111111111111,11111111111111') where len(b) >0
 set @max_cnt = @max_cnt - 1
 if @max_cnt = 0 break
end

set statistics io on
set statistics profile on
set statistics io off
set statistics profile off

declare @a varchar(1000)
set @a = 'sys5,432,54,35,432,5,2436246,,236,32,5,34,543,25,5,43,5432,5,43,25,rscolsaa,a111111111a,v,d,d,d,d,d,d,d,d,d,d,d,d,d,,d,d,d,d,d,d,d,d,111111,,,,,,,,11111111111111111111111,111111111111111111111,11111111111111'
select *
  from dbo.split(@a) where len(b) >0


 

SET STATISTICS IO OFF
IF OBJECT_ID ('TBLX') IS NOT NULL
DROP TABLE TBLX
GO

CREATE TABLE TBLX
(
 IDX INT
 ,VALS VARCHAR(1000)
)
GO

IF OBJECT_ID('NUMS') IS NOT NULL
DROP TABLE NUMS
GO

CREATE TABLE NUMS (NUM INT IDENTITY PRIMARY KEY)
GO

SET NOCOUNT ON
BEGIN TRAN

WHILE 1=1
BEGIN
 INSERT NUMS DEFAULT VALUES
 IF @@IDENTITY = 8000
BREAK
END

INSERT INTO TBLX VALUES (1,'1,2,2')
INSERT INTO TBLX VALUES (2,'11,22,2223')

COMMIT TRAN

-- 동작의 핵심은 NUMS 테이블을 이용해서 모든글자를 한자 한자 모두 조인 한 후
-- 시작점과 끝점을 찾는 것이다.
-- 또한 CHARINDEX 는 시작점을 재 셋팅 할 수 있다.

-- 1단계 1번에 들어있는 VALS 는 쉼표포함 6글자 이므로 6개만큼 복제 된다.
SELECT
 *
FROM
 TBLX A
 INNER JOIN NUMS B
 ON LEN(A.VALS) >= B.NUM

-- 2단계 구분자를 찾자
-- 1번 E 에서 살펴보면 2,4,6 에 구분자가 있다는 것을 알게 되었다.
-- 또한 시작점은 NUM 컬럼의 최소값을 쓰면 되고 마지막포인트는 E 값을 쓰면 된다.
SELECT
 IDX, NUM, CHARINDEX (',',VALS+',',NUM) E, VALS
FROM
 TBLX A
 INNER JOIN NUMS B
 ON LEN(A.VALS) >= B.NUM

-- 컴마의 개수로 그룹핑하면서 시작점(NUM 의 최소값), 끝점 찾기(E)
SELECT
 IDX, MIN(NUM)S, CHARINDEX (',',VALS+',',NUM) E, MAX(VALS)
FROM
 TBLX A
 INNER JOIN NUMS B
 ON LEN(A.VALS) >= B.NUM
GROUP BY IDX, CHARINDEX (',',VALS+',',NUM)
ORDER BY IDX, E

-- 한방에 끝
SELECT
 IDX, SUBSTRING(VALS, S, E-S) VAL
FROM
 (
 SELECT
  IDX, MIN(NUM) S, CHARINDEX (',',VALS+',',NUM) E, MAX(VALS) VALS
 FROM
  TBLX A
  INNER JOIN NUMS B
  ON LEN(A.VALS) >= B.NUM
 GROUP BY IDX, CHARINDEX (',',VALS+',',NUM)
-- ORDER BY IDX, E
 ) A
ORDER BY 1

결과
-------
IDX VAL
--- ---
1 1
1 2
1 2
2 22
2 2223
2 11

 

IF OBJECT_ID('NUMS') IS NOT NULL
DROP TABLE NUMS
GO

CREATE TABLE NUMS (NUM INT IDENTITY PRIMARY KEY)
GO

SET NOCOUNT ON
BEGIN TRAN

WHILE 1=1
BEGIN
 INSERT NUMS DEFAULT VALUES
 IF @@IDENTITY = 8000
BREAK
END

COMMIT TRAN
GO


DECLARE @INPUTARRAY VARCHAR(8000)
SET @INPUTARRAY = '1,2222,2,3,1111444411'

SELECT SUBSTRING(VALS, S, E-S)
FROM
 (
 SELECT
  MIN(NUM)S, CHARINDEX (',',VALS+',',NUM) E, MAX(VALS) VALS
 FROM
  (SELECT @INPUTARRAY VALS) A
  INNER JOIN NUMS B
  ON LEN(A.VALS) >= B.NUM
 GROUP BY CHARINDEX (',',VALS+',',NUM)
 ) A
OPTION (ORDER GROUP)
GO

IF OBJECT_ID ('TBLX') IS NOT NULL
DROP TABLE TBLX
GO

CREATE TABLE TBLX
(IDX INT
, C1 VARCHAR(100)
)
GO

INSERT INTO TBLX VALUES  (1,'HAPPY')
INSERT INTO TBLX VALUES  (2,'SQLER')
GO

IF OBJECT_ID ('USP_A') IS NOT NULL
DROP PROC USP_A
GO

CREATE PROC USP_A
(@INPUTARRAY VARCHAR(8000))
AS

SELECT *
FROM DBO.TBLX
WHERE IDX IN
 (
 SELECT CAST(SUBSTRING(VALS, S, E-S) AS INT)
 FROM
  (
  SELECT
   MIN(NUM)S, CHARINDEX (',',VALS+',',NUM) E, MAX(VALS) VALS
  FROM
   (SELECT @INPUTARRAY VALS) A
   INNER JOIN DBO.NUMS B
   ON LEN(A.VALS) >= B.NUM
  GROUP BY CHARINDEX (',',VALS+',',NUM)
  ) A
 )
OPTION (ORDER GROUP)
GO

EXEC DBO.USP_A '1,2'
GO

 

 

 

 

 

SELECT A.IDX,SUBSTRING(A.VALS,B.S,B.E-B.S) VAL
  FROM TBLX A CROSS APPLY
            (SELECT TOP (8000)
                          NUM S,
                          CHARINDEX(',',A.VALS+',',NUM + 1) E
                FROM NUMS
              WHERE NUM = CHARINDEX (',',','+A.VALS,NUM)
              ORDER BY NUM) B
ORDER BY 1

 

 

 


DECLARE @INPUTARRAY VARCHAR(8000)

SET @INPUTARRAY = 'AAA,BBB.NB ,C,    FD'

SELECT A.NUM, LTRIM(RTRIM(SUBSTRING(VALS, S, E - S))) CVAL
FROM (
 SELECT
  ROW_NUMBER() OVER (ORDER BY (SELECT 1)) NUM
  ,MIN(NUM) S
  ,CHARINDEX(',', VALS + ',', NUM) E
  ,MAX(VALS) VALS
 FROM (
  SELECT @INPUTARRAY VALS
  ) A
 INNER JOIN (
  SELECT TOP 8000 ROW_NUMBER() OVER (
    ORDER BY (
      SELECT 1
      )
    ) NUM
  FROM SYSOBJECTS A
  CROSS JOIN SYSOBJECTS B
  ) B ON LEN(A.VALS) >= B.NUM
 GROUP BY CHARINDEX(',', VALS + ',', NUM)
 ) A
OPTION (ORDER GROUP)
GO

Posted by 보미아빠
, |
Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함