2009-06-10 12 views
0

Ich frage DB2 auf i (AS/400). Eine einfache SELECT-Anweisung für eine Spalte mit dem Datentyp TIME gibt 00:00:00 zurück, aber wenn ich die CHAR() - Funktion verwende, gibt sie '24: 00: 00' zurück.Warum gibt die Funktion DB2 CHAR() '24: 00: 00' für ein Zeitfeld zurück, das 00:00:00 ist?

Ich verstehe, dass 24:00:00 eine gültige Zeit ist, aber warum würde CHAR() 24 zurückgeben, wenn die native TIME 00 zurückgibt?

+0

Ich habe über 10 Millionen Datensätze mit einem TIME-Wert von 00:00:00, aber nur einer von ihnen gibt '24: 00: 00' zurück, wenn CHAR() verwendet wird. – user23185

Antwort

0

auf V5R4:

CREATE TABLE TEST (FIELD1 TIME NOT NULL WITH DEFAULT) 

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

SELECT FIELD1, CHAR(FIELD1) FROM TEST 

Shows:

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

nicht sicher, warum Sie 24:00:00 bekommen.

ich auch versucht:

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

denken vielleicht ein 24:00:00 Wert wurde als '00 Anzeige: 00: 00' , aber dies zeigt:

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

für so ziemlich alle Zeit Formate (* HMS, ISO).