GSI

작업 하다가 대리점별 지역 주소를 정렬하는 부분에 사용한 쿼리
지역 코드가 여러개의 혼합으로 되어 있어서 그걸로 안되고 해서
주소의 내용 일부를 order by 해서 사용하도록 했다.


SELECT * FROM dbo.Agency order by case left(ConAddr,2)
 when '서울' then 1
 when '경기' then 2
 when '인천' then 3
 when '강원' then 4
 when '대전' then 5
 when '충남' then 6
 when '충분' then 7
 when '부산' then 8
 when '울산' then 9
 when '경남' then 10
 when '대구' then 11
 when '경북' then 12
 when '광주' then 13
 when '전남' then 14
 when '전북' then 15
 when '제주' then 16
 end
Posted by gsi
:

민정이 2009-03-01

내 일상 2009. 3. 2. 00:11 |

사랑 스런 우리딸..

항상 행복한 날만 가득하길 빈다. 우리딸~!
Posted by gsi
:

[더블오 2기 - 20화 UI 스샷

UI 2009. 2. 23. 03:51 |

01234567

Posted by gsi
:

-- 최초 입력 데이터
idx         hostName                                           value       regDate                 flag
----------- -------------------------------------------------- ----------- ----------------------- ----
15934       P6901756001C                                       4           2009-02-19 16:25:36.150 0
15935       P6901756001C                                       5           2009-02-19 16:25:46.150 0
15936       P6901756001C                                       1           2009-02-19 16:25:56.167 0
15937       P6901756001C                                       3           2009-02-19 16:26:06.150 0
15938       P6901756001C                                       3           2009-02-19 16:26:16.150 0
15939       P6901756001C                                       3           2009-02-19 16:26:26.150 0
15940       P6901756001C                                       2           2009-02-19 16:26:36.150 0
15941       P6901756001C                                       2           2009-02-19 16:26:46.150 0
15942       P6901756001C                                       1           2009-02-19 16:26:56.150 0
15943       P6901756001C                                       2           2009-02-19 16:27:06.150 0
15944       P6901756001C                                       1           2009-02-19 16:27:16.150 0

-- 변경후 데이터
idx         hostName                                           value       valueSum    valueCount  regDate                 flag
----------- -------------------------------------------------- ----------- ----------- ----------- ----------------------- ----
5           P6901756001C                                       0           50          20          2009-02-19 15:45:00.000 0
6           P6901756001C                                       0           99          30          2009-02-19 15:50:00.000 0
7           P6901756001C                                       0           97          30          2009-02-19 15:55:00.000 0
8           P6901756001C                                       0           287         30          2009-02-19 16:00:00.000 0
9           P6901756001C                                       0           218         30          2009-02-19 16:05:00.000 0
10          P6901756001C                                       0           362         30          2009-02-19 16:10:00.000 0
11          P6901756001C                                       0           131         30          2009-02-19 16:15:00.000 0
12          P6901756001C                                       0           163         30          2009-02-19 16:20:00.000 0
13          P6901756001C                                       0           23          3           2009-02-19 16:25:00.000 0

-- 구성 내용
10초에 한번씩 입력 되는 해당 데이터의 내용을 5분 단위로 끊어서 새로운 테이블로 통계를 낸다.
값이 일정하지도 않을수 있고, 값의 주기가 조금씩 틀릴수도 있다.
우선 테스트를 통해서 더 보완 해야 할듯 하다. (커서를 몰라서 이렇게 걍 작성 했다.)

-- 배울점
1. 시간 값의 구간을 5분 단위로 구분

Posted by gsi
:


USE [GPMS]
GO
/****** 개체:  UserDefinedFunction [dbo].[CHANGEDATETIME]    스크립트 날짜: 02/19/2009 16:57:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- 날짜변환하는부분을함수로작성
CREATE  FUNCTION [dbo].[CHANGEDATETIME] (
       @sdate varchar(30)
       )RETURNS DATETIME
AS
BEGIN
       DECLARE @RETURNVALUE DATETIME
       BEGIN
             SELECT  @RETURNVALUE=CASE WHEN  CHARINDEX('오후',@sdate)>0
                    THEN DATEADD(HH,12,CONVERT (DATETIME, REPLACE(@sdate,'오후','')))
                    ELSE CONVERT (DATETIME,REPLACE(@sdate,'오전','') )
                    END
       END
       RETURN(@RETURNVALUE)
END

-- 결과
문자열을 시간 값으로 변경해 준다.
하지만 문자열이 시간값과 같은 포멧으로 구성되어 있어야 한다.
ex) 2009-02-19 14:25:00

Posted by gsi
: