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 4416 게시물 읽기
No. 4416
FUNCTION 관련질문입니다.
작성자
궁금이
작성일
2008-08-27 16:00
조회수
5,211

CREATE  FUNCTION dbo.fn_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


제가 이런펑션을 어디서 주어서 쓰고 있는데요
dbo.fn_Changedatetime('2008-01-01') 이런식으로 넣으면, 제가 원하는 값으로 잘 들어갑니다.
근데 Null 이거나 '' 일경우엔, 그냥 '' 값을 넣어주고 싶습니다.
해 봤더니 1900-01-01 00:00:00.000 이 값이 들어가더라고요. 
펑션을 어떻게 수정해야 하는지 설명좀 부탁드립니다.

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

흠 일단 입력데이터와 결과를 좀 알려주시기 바랍니다.


그러면 좀더 손봐서 올려드리겠습니다.

김병석(byung82)님이 2008-08-28 01:09에 작성한 댓글입니다.
dbo.fn_Changedatetime('2008-01-01')  -> 2008-01-01 00:00:00.000 
dbo.fn_Changedatetime('')                 -> 1900-01-01 00:00:00.000 
dbo.fn_Changedatetime(null)              -> 1900-01-01 00:00:00.000 

이렇게 들어갑니다.
궁금이님이 2008-08-28 10:05에 작성한 댓글입니다. Edit

return type 이 datetime 라서 그런것이 아닐런지요?

판팁파자(jjang750)님이 2008-09-02 18:22에 작성한 댓글입니다.
이 댓글은 2008-09-02 18:23에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
4419아래글 보완 설명 [2]
임철수
2008-08-28
4906
4418sqlserver의 메모리 증가 문제... [3]
임철수
2008-08-27
6792
4417access에서 00시 인식하게 할려면??
초보
2008-08-27
4785
4416FUNCTION 관련질문입니다. [3]
궁금이
2008-08-27
5211
4414mssql 2005를 설치하는데, 설치처음에 ~~~공간이 부족하다는 에러가 나네요.
김훈
2008-08-25
5862
4413mysql에암호된것을 mssql사용가능한가요 [1]
김길동
2008-08-25
4765
4412문자를 날짜로 입력 [1]
고형윤
2008-08-25
6042
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다