2009-06-10 3 views
0

i (AS/400)에서 DB2를 쿼리하고 있습니다. 데이터 유형이 TIME 인 열에 대한 일반 SELECT 문은 00:00:00을 반환하지만 CHAR() 함수를 사용하면 '24 : 00 : 00'을 반환합니다.00:00:00 인 시간 필드에 대해 DB2 CHAR() 함수가 '24 : 00 : 00'을 리턴하는 이유는 무엇입니까?

24:00:00은 유효한 시간이지만 네이티브 TIME이 00이되면 CHAR()은 24를 반환하는 것을 이해합니다. V5R4에

+0

TIME 값이 00:00:00 인 1000 만 개의 레코드가 있지만 CHAR()를 사용할 때 '24 : 00 : 00 '중 하나만 반환합니다. – user23185

답변

0

:

CREATE TABLE TEST (FIELD1 TIME NOT NULL WITH DEFAULT) 

INSERT INTO TEST VALUES('00:00:00') 

SELECT FIELD1, CHAR(FIELD1) FROM TEST 

쇼 :

FIELD1 CHAR (FIELD1) 
00:00:00  00:00:00  

당신은 24:00:00을 얻고있는 이유는 확실하지. 00 :

INSERT INTO TEST VALUES('24:00:00') 

어쩌면 24:00:00 값이 00으로 표시 한 생각 :

나는 또한 시도 00 '그러나 이것은 보여줍니다

FIELD1 CHAR (FIELD1) 
00:00:00  00:00:00  
24:00:00  24:00:00  

거의 모든 시간을 위해 형식 (* HMS, ISO).

관련 문제