얼마전 SP를 작업해서 협력사에 넘겼는데 정상 작동을 안한다고 해서 몇시간을 헤맨적이 있습니다. 결국 밝혀진 원인은 제목과 같은 NULL + '문자열' 의 결과였는데 이게 MS-SQL 버젼에 따라 결과가 좀 다르게 나오더군요...

두개의 테이블에서 문자열을 하나씩 검색해서 + 연산으로 문자열을 합치는 쿼리문이었는데 앞에 테이블에서 검색된 열 갯수가 0일 때 문제가 된 것이었습니다.

대충 아래 쿼리와 비슷한 쿼리문이었습니다.

제 작업 환경은 MS-SQL2000, 협력사의 테스트 환경은 MS-SQL2005 였는데 2000에서는 앞의 테이블 검색 결과가 없어도 뒤 테이블에서 검색된 데이터가 출력되는 반면에 2005에서는 앞의 테이블 검색수가 0이면 뒤 테이블 검색 결과에 상관없이 무조건 NULL 이더군요. 결국 ISNULL() 을 사용해서 해결은 했습니다.

근데 또 다른 비슷한 경우를 만들어서 테스트를 해보니 NULL 나오는게 정상인듯 싶네요. 앞으로 주의해야겠습니다;;;
반응형

'저장고 > 기타' 카테고리의 다른 글

[SQL] SELECT 할 때 동적으로 순위 매기기  (0) 2009.06.17
[MSSQL] CASE 함수  (0) 2008.05.19
NSIS 임의로 Page 이동하기  (3) 2007.01.19
다른 정보를 찾다가 이 정보를 찾았네요..
지금은 다른 방법을 써서 해결하고 있었지만... 다음번에는
아래의 방법을 써봐야겠습니다.

http://www.dbguide.net/ 사이트의 QnA 게시판에 신인식(eternize) 이란 분이 올려주신 답변에서 퍼왔습니다.

SQL 서버로 백업시 백업화일을 날짜별로 생성하는 방법입니다.

declare @str nvarchar(100)
set @str = N'c:\backup\mydb' + convert(nvarchar(20), getDate(), 112) +N'.bak'
BACKUP DATABASE [mydb] TO DISK = @strWITH NOINIT , NOUNLOAD , NAME = N'mydb backup', NOSKIP , STATS = 10,NOFORMAT

위의 스크립을 job으로 스케쥴링 거시면 됩니다.해당 일정이 되면 mydb20040825.bak, mydb20040826.bak 이런식의 백업화일이생성됩니다.기타 백업 옵션에 관핸 부분은 BOL을 참고하시면 될듯합니다.

반응형

'저장고 > 기타' 카테고리의 다른 글

NSIS 임의로 Page 이동하기  (3) 2007.01.19
자신의 외부 IP를 알고 싶을 때... :)  (2) 2006.12.06
MS-SQL Log 파일 크기를 줄여보자...  (2) 2005.09.07

+ Recent posts