답변 정말 감사합니다.
날자나 시간을 변경할려고 합니다.
"2015-05-29 13:29:57.9998"이런 형식을 42135.5624768499983 이런 형식으로 바꾸어 저장해야합니다.
필드 속성은 GDATE DECIMAL(18,8) DEFAULT 1,입니다.
UPDATE gtitle SET gdate=timestamp WHERE gidx='xxxxx'
이렇게 하면 에러만 나오네요 ㅡ,.ㅡ;
박우성 님이 쓰신 글 :
: TDateTime형은 1899년 12월 30일 0시를 기준으로 소숫점 위에는 날수를 소솟점 아래에는 시간으로 표현합니다.
: firebird의 timestamp도 시작 날짜는 잘 모르겠지만, 소숫점 위에는 날수를 소숫점 아래에는 시간을 표현합니다.
:
: select cast( cast('1899-12-30' as timestamp) + 42135.5624768499983 as varchar(24) ) from rdb$database;
:
: 쿼리를 실행해 보면 "2015-05-11 13:29:57.9998" 이라는 varchar형을 얻을 수 있습니다.
:
: 위의 쿼리를 가지고 응용해 보세요.
:
:
:
: 정환철 님이 쓰신 글 :
: : 답변 감사합니다.
: : 개발툴을 사용하지 않고 데이터를 변환해서 사용할수 있을까요?
: : 쿼리문에서 형식을 변환해서 사용할 수있는 방법이 없을까요?
: : 필드 속성은
: : GDATE DECIMAL(18,8) DEFAULT 1,
: : 인데 형식을 "yyyymmddhhnnss"으로 보고싶은데
: : select cast(gdate as date) from tb_data
: : 위 조회문은 아래같은 에러가 납니다.
: : can't format message 13:587 -- message file C:\Windows\firebird.msg not found.
: : conversion error from string "41810.14274306".
: :
: :
: : 박우성 님이 쓰신 글 :
: : : TDateTime형을 double float형태로 기록해 놓은 것 같네요.
: : :
: : :
TDateTime dt = 42135.5624768499983;
: : : Memo1->Lines->Add( dt.FormatString("yyyy-mm-dd hh:nn:ss") );
: : :
: : : 위의 코드를 실행해 보니까, "2015-05-11 13:29:58"라는 값이 나오는 것으로 보아서 맞는듯....
: : :
: : :
: : : 정환철 님이 쓰신 글 :
: : : : 필드에 기록된 값이 날자시간 인것 같은데 42135.5624768499983 이런 숫자가 증가하는데요...
: : : : 감잡히시는분 계시나요? 아시는분 도와주세용... 그냥 지나치지 마시공 ㅡ,.ㅡ;;