database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3803 게시물 읽기
No. 3803
쿼리문좀 봐주세요...ㅠㅠ
작성자
슬프다
작성일
2007-10-12 18:13
조회수
4,461

select
 case(substring(RESIDENT_NO,8,1))
  when '0' then '18' + RESIDENT_NO
  when '9' then '18' + RESIDENT_NO
  when '3' then '20' + RESIDENT_NO
  when '4' then '20' + RESIDENT_NO
  else '19' + RESIDENT_NO
 end, -- 821218-0000000 --> 19821218-0000000 변경!!

 datediff(yy,left(case(substring(RESIDENT_NO,8,1))
  when '0' then '18' + RESIDENT_NO
  when '9' then '18' + RESIDENT_NO
  when '3' then '20' + RESIDENT_NO
  when '4' then '20' + RESIDENT_NO
  else '19' + RESIDENT_NO
 end,8),convert(char(8),getdate(),112))

from cbrunch_t



메시지 242, 수준 16, 상태 3, 줄 1
char 데이터 형식을 datetime 데이터 형식으로 변환하는 중 datetime 값 범위를 벗어났습니다.

이렇게 에러가 나는데요...
어찌 고쳐야 하는지요... 
안되는 쿼리인지요...ㅠㅠ

 

이 글에 대한 댓글이 총 1건 있습니다.

이렇게 해보세요. 

select *
from 
cbrunch_t
where isDate(날짜형식) = 0

날짜형식 = resident_no에서 변형된 것
금방 것과 같은 에러는 '20070231'등 날짜형식이지만 데이터가 틀린 경우입니다. 
따라서 날짜데이터가 될수 없는 데이터를 찾아 수정해주셔야 할 듯합니다. 

.님이 2007-10-12 18:42에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3806PROC에서 CURSOR 이용중 궁금한점이..도와주세요^^;; [2]
최장군
2007-10-16
4532
3805Order By 에서 질문요... [2]
불님
2007-10-16
2901
3804프로시져 DYNAMIC SQL ?? [1]
이재영
2007-10-13
3100
3803쿼리문좀 봐주세요...ㅠㅠ [1]
슬프다
2007-10-12
4461
3799쿼리문 좀 봐주세요... ㅡ.ㅜ [2]
friendy
2007-10-12
3217
3798delete문으로 삭제한 데이터 복원이 가능한지요.. ㅠ
정현철
2007-10-12
3255
3797asc, desc를 같은 쿼리에서 쓸수 있나요? [1]
박재인
2007-10-12
2929
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다