Datentyp und Summe??

freshman

SQL-Guru
Beiträge
100
Guten Morgen, ich habe eine csv Datei, diese importiere ich in MS SQL Server 2008.
Dazu die erste Frage: Welchen Datentypen nehme ich am besten für Zeitangabe, nicht Uhrzeit!
Zeitenagabe = Stunden:Minuten:Sekunden

Sprich, Tabelle sieht nachher so aus:

Name TelNr Gesprächsdauer
________________________
Dirk 111 00:12:24
Thoma 222 01:13:55
Andre 222 00:56:01
Dirk 111 02:02:36

Und nun möchte ich eine Abfrage erstellen, in der mir die Summe Gesprächsdauer von 'Dirk' angezeigt wird.
Also:
Welcher ist der Richtige Datentyp für Spalte 'Gesprächsdauer'?
Und wie bekomme ich die Summenbildung 'Gesprächsdauer' hin?

Danke
 
Werbung:
Ziehe einen Teil der Frage zurück,
Datentyp ist time(0), die NULL steht für 0 Bruchteile einer Sekunde...
Aber wie gestalte ich die Abfrage für die Summenbildung, da hampel ich immer noch mit rum
DANKE
 
:-)
das hatte ich auch schon probiert, aber Microsoft sagt mir:

Meldung 8117, Ebene 16, Status 1, Zeile 7
Der Operanddatentyp time ist für den sum-Operator ungültig.
 
Nun ha ich den Datentyp in float geändert...
musste vorher die Tabell leeren.
Will dann die csv neu importieren, bekomme die Meldung:
Datenkonvertierungsfehler beim Massenladen (Typenkonflikt oder ungültiges Zeichen für die angegebene Codepage) für 2-Zeile, 5-Spalte (GespDauer)

kann float nicht mit Daten: 01:13:55
???
 
Werbung:
Vieleicht ist das der Grund warum keine Datenbank die ich kenne time nutzt sondern float :)

Um mal eine Triviallösung zu zeigen:

Code:
test=*# create table telefon(i int, dauer interval);
CREATE TABLE
Time: 1,109 ms
test=*# insert into telefon values(1, '00:10:12');
INSERT 0 1
Time: 0,388 ms
test=*# insert into telefon values(1, '01:25:35');
INSERT 0 1
Time: 0,172 ms

test=*# select i, sum(dauer) from telefon group by i;
 i |   sum
---+----------
 1 | 01:35:47
(1 row)

Ich weiß nicht, welche Datenbanken diesen Typ, also INTERVAL, anbieten, PG hat ihn aber.


Andreas
 
Zurück
Oben