Programming

63

[MSSQL] 테이블에 조건 없이 특정 개수 삭제하기

조건 없이 개수 맞추기 위해서 데이타 몇개 삭제하려고 했더니, where 조건 없어서 난감. 이래저래 찾아보니, 고민 없이 그냥 top 쓰면 되는구나. DELETE TOP(1000) FROM tbTable; - 2010.12.02 Joshua95

Programming/Database 2010.12.02 2 Joshua95

[C#] Collection vs List

코딩을 하다보면, 매번 Collection 과 List 가 헷갈린다. 내용은 간단하다. Collection이 좀 더 원시적인 타입이고, List는 Search와 Sort 가 보강된 Collection 이라는 것. 둘을 혼용하여 코딩이 되어 있는데, 뭐 특별히 성능 이슈가 없는 경우라면 List 로 통일하는게 좋다고 생각됨. 단, ObservableCollection 은 얘기가 다름. ObservableCollection 은 UI와의 binding을 위해서 유용하게 사용되는 것이므로 Collection과는 별개로 생각할 것. 즉, 위의 Collection 이나 List 적용 이야기는 UI 무관할 경우에 한함. - 2010.09.28 by Joshua95

Programming/Code 2010.09.28 Joshua95

[DB2] 특정 스트링의 구분자 개수 얻어오기

특정 스트링에서 어떤 구분자의 개수가 몇개인지 알아오는 함수를 구현 중입니다. 이래저래 다른 사람들의 구현 방식을 찾아보다 보니, 아주 쿨~한 방식을 사용한 사람이 있어서 차용하였습니다. 방식은 이렇습니다. 먼저 스트링에서 특정 구분자를 모두 널('')로 바꿉니다. 그리고 나서 원래 길이와 구분자를 없애버린 문자의 길이의 차이를 반환하는 것이지요. 성능적으로야 replace 가 한번 더 들어가야 하기에 그냥 순차적으로 도는 것보다 느리겠지만, 그래도 코드가 아주 쿨하지 않습니까. 작은 길이의 스트링 변환일 경우, 유용하게 사용할 수 있는 함수입니다. 누군가 생각해낸 쿨한 방법이 기특해서 차용합니다. 흐흐. -- @brief 특정 스트링의 delimiter 개수를 센다. CREATE FUNCTION fnG..

Programming/Database 2010.08.11 1 Joshua95

[DB2] 문자열의 몇번째 구분자 정보 얻어오기/변경하기

특정 구분자로 나눠진 스트링에서 해당 구분자의 몇번째 값을 가져오라고 할때나, 몇번째 값을 변경하라고 할때 사용하는 함수를 작성했습니다. 그런데, 이게 여러번 호출되면 성능이 느려지는 문제가 있군요. 여튼 향후에 적절하게 사용할 때가 있을 듯 하여 올립니다. 첫번째 Get 계열 함수는 이전 게시물의 fnGetElements 함수를 사용해서 쉽게 구현이 되었고, 두번째 Set 계열 함수는 이래저래 막노동 끝에 구현되었습니다. 단발로 얻어오거나 수정할때 유용할 함수 일 겁니다. 단 앞에서 얘기한 것처럼 여러개를 얻어오고, 변경할 경우 성능적 이슈가 있으므로 자제하시길. -- 문자열에서 특정 Delimeter의 요청된 index 번째 값을 반환한다. -- 'BodyText의 3번째 파라미터 값을 가져오라' 는..

Programming/Database 2010.08.11 Joshua95

[DB2] 스트링을 특정 구분자로 분리하여 테이블로 리턴하는 함수

특정 구분자로 나눠진 스트링을 테이블의 데이터로 뽑아주는 함수가 필요해서 이래저래 찾아보아 다음과 같이 만들었습니다.원하는 기능은 이랬지요.'1;2;3' 과 같은 스트링을 입력하면 1,2,3의 Data가 테이블에 입력되도록 하는 것이지요.우선 아래의 fnGetElementIdx, fnGetElements 함수를 추가해 주고,실제 사용은 아래와 같은 쿼리를 사용하여 사용하면 됩니다.SELECT CAST(t.elem AS VARCHAR(256))FROM TABLE ( fnGetElements('1;2;3',';') ) AS t(elem)------------------------------------------------------- 1. 스트링의 구분자 위치 정보를 생성, 리턴 (fnGetElements에..

Programming/Database 2010.08.11 Joshua95

[DB2] 특정 쿼리 결과에 순차적으로 번호 붙이기

특정 쿼리 결과를 순차적으로 번호를 붙여주고 싶은데, 한참 찾아보니 이런 함수가 있군요. -- 쿼리 결과 그대로 순번을 리턴 ROW_NUMBER() OVER() -- 쿼리 결과를 특정 정렬 후 순번을 리턴 ROW_NUMBER() OVER (ORDER BY SALARY DESC) -- 사용 예 SELECT ROW_NUMBER() OVER() AS idx, element FROM tbTestTable; From Joshua95(10-08-05)

Programming/Database 2010.08.05 Joshua95

[C#] XML XPath 대소문자 구분없이 인식하기

XML XPath 대소문자 구분없이 인식하기 XML을 사용하다보면, 노드 이름이나 Attribute 이름을 대소구분 없이 사용하고 싶을 때가 있습니다. 초기 설계부터 한 사람이 설계했다면야 그럴리 없겠지만, 각 파트별도 다양한 사람이 설계를 했을 경우, 어떤 사람은 소문자만을, 어떤 사람은 대소문자 섞어서 사용할 수 있다는 것이지요. 기본적으로 XML에서는 대소구분 안 하니 별 문제 없이 사용할 수 있습니다만, C#에서의 XML XPath 사용 시에는 대소구분을 제대로 해 주는군요. 대소구분 안 하려고 이래저래 찾아봤더니, translate 를 사용해서 하면 된다는군요. 코드가 길어져서 그다지 내키지는 않지만 일단 급한 마음에 사용했더니 잘 되는군요. 성능 측면에서는 어떨지 모르겠네요. 아래와 같이 사용..

Programming/Code 2010.07.06 Joshua95