데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

12,39,57,29,33,43,19,32,20,23,12,19,13,8,8,9,9,8,8,9,8,8,9,8,8,8,9,8,8,9,8,8,8,9,8,8,9,9,8,9,8,8,8,9,8,8,9,8,8,9,8,8,12,9,10,8,9,9,10,10,2,

2014-07-01 

2

 1,5,4,10,12,4,23,9,1,0,0,11,7,4,7,0,1,2,3,4,0,3,1,5,25,38,43,13,6,

 2014-07-02

 18,29,13,27,23,14,11,9,9,8,8,8,9,8,8,9,8,8,8,9,8,9,9,8,8,9,8,8,8,9,8,8,9,8,8,9,8,8,8,9,8,

 2014-07-03

 0,1,2,1,0,0,2,1,2,2,0,0,14,9,12,12,4,13,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,

 2014-07-04

12,39,57,29,33,43,19,32,20,23,12,19,13,8,8,9,9,8,8,9,8,8,9,8,8,8,9,8,8,9,8,8,8,9,8,8,9,9,8,9,8,8,8,9,8,8,9,8,8,9,8,8,12,9,10,8,9,9,10,10,22,23,12,

18,9,16,17,20,8,9,10,9,10,10,8,8,8,9,8,8,9,8,12,28,13,14,17,35,33,30,35,39,26,33,25,27,49,17,16,30,30,10,17,40,36,45,37,36,29,16,20,23,18,15,

24,17,8,16,52,39,36,19,20,14,69,45,49,29,26,47,25,16,16,34,24,33,22,15,19,13,8,9,8,8,8,9,8,8,9,8,8,9,8,8,8,9,8,8,9,8,9,8,9,8,8,9,8,8,9,8,8,8,

 2014-07-05


5분마다 들어오는 숫자를 ,로 구분하여 varchar(max)형으로 넣은 칼럼이 있습니다. 끝에도 ,로 들어가고요..

이걸 한 칼럼..그러니까 하루에 기록된 숫자의 합산을 구하려고 해서 검색하다가 문자열에서 숫자 합계 구하기(http://www.sqler.com/140487)를 발견해서 석이님이 리플로 달아두신 방법으로 쓰면 되겠다싶어 썼더니 아래와 같은 오류가납니다.


Msg 537, Level 16, State 3, Line 20
Invalid length parameter passed to the LEFT or SUBSTRING function.


그래서 이것저것 만저보다 쿼리 중에 CROSS APPLY (   SELECT TOP (2047) NUMBER S <이부분에 TOP (2047)을 80까지 줄이니 오류없이 합산이 되는데..이게 하루에 5분마다 들어온 숫자를 기록해서 다음날 전일 들어온 숫자 전부를 합산하는거라 80으로 줄이면 끝에 부분이 잘리는 문제가 있습니다. 오류를 검색해보니 해당 null 칼럼의 길이 값이 null이라 그렇다고 하는데 null값으로 들어간 것도 없는데 뭐가 문제인지 모르겠네요 오류없이 해결할 수 있는 방법이 없을까요? 5번 칼럼 정도의 길이가 매일 칼럼에 기록됩니다.


아래는 제가 사용한 구문입니다.


SET @RecordDate = CONVERT(VARCHAR(10), GETDATE()-1, 111)--yyyy/mm/dd

 SELECT  @OnlineMax =SUM(CAST(SUBSTRING(A.Daliy_CCU,B.S,B.E-B.S) AS INT))
 FROM LOG_CCU A
 CROSS APPLY (
  SELECT TOP (80) NUMBER S
      , CHARINDEX(',',A.Daliy+',',NUMBER + 1) E
      FROM MASTER.DBO.SPT_VALUES
      WHERE NUMBER = CHARINDEX (',',','+A.Daliy,NUMBER)
      AND TYPE ='P'
      ORDER BY NUMBER) B
 WHERE DATEDIFF(DAY,@RecordDate, RegTime) = 0
 GROUP BY A.DBIDX
 WITH ROLLUP



No. Subject Author Date Views
8012 mfc access 테이블 여러개 연동 질문있습니다.. 송이송이 2014.07.07 4266
8011 WHERE절에 CASE문입니당.. [2] 마힐링 2014.07.07 2951
8010 프로시저 질문 입니다. [3] 개발자_ver 2014.07.07 2053
8009 inner join시 해당 날짜만 검색하고 싶습니다. [1] 사이드사이드 2014.07.07 2861
8008 행삭제가 안되네요 [3] 고쳐주세요 2014.07.07 2185
8007 케스트 사양에 대한 갑이 올바르지 않다고 뜹니다 [1] 연어초밥 2014.07.07 1917
8006 계정에 관해 질문드립니다. [2] 연어초밥 2014.07.06 5203
8005 쿼리 질문드립니다.. [3] 하하하하하 2014.07.04 2619
8004 mssql200이 설치된 웹서버에서 mssql2005 설치된 웹서버로 DB 접속문의 [2] Larry 2014.07.04 3401
8003 insert select 데이타 사라짐 [7] 연금술사 2014.07.04 4154
8002 운영중인 DB 서버의 윈도우 administrator 계정 이름 변경 [2] 내안의다른삶 2014.07.03 3099
8001 에러좀 봐주세요.... [1] 처리짱 2014.07.03 2581
8000 소수점 처리 와 컴마 표시를 동시에 할수있을까요? [2] 고구망 2014.07.03 4632
7999 안녕하세요 쿼리 질문있습니다. spotlight81 2014.07.03 2564
» 문자열에서 숫자의 합계를 구하는데 오류가 뜹니다. [1] 사이드사이드 2014.07.03 2420
7997 TableDiff 유틸리티 사용관련해서 질문드립니다. HoyaSoft 2014.07.03 2428
7996 analysis service 관련문의 dunhill123 2014.07.03 2157
7995 비밀번호 *로 ㅜㅜ [3] 마힐링 2014.07.02 2558
7994 db와 연결이 안돼요.. [2] 송이송이 2014.07.02 2673
7993 관련된 컬럼 데이터를 레코드에 추가해서 보고싶을때 [3] Merermero 2014.07.01 2424





XE Login