# Data truncation Incorrect datetime value



## Einklang. (21. Aug 2012)

Hallo,

bekomme folgende SQL-Exception:



> Data truncation: Incorrect datetime value: '1972' for column 'address_date_added' at row 1



In der besagten Spalte ist folgender Wert enthalten: "2010-11-27"

Woher die Zahl 1972 kommt weiß ich wirklich nicht, selbst in der original Datenbank steht kein solcher Wert drin, an keiner Stelle in keinem Datensatz!

Dann wird der Wert noch umgewandelt und später als SQL Statement verwendet - daher sollte das kein PRoblem sein:

```
toll = serdbaberg.getDate(i);
							spvalue = String.valueOf(toll);
```

Das komplette SQL-Statement sieht so aus: 

```
SQL-Statement: Insert into address_book (address_book_id, customers_id, entry_gender, 
entry_company, entry_firstname, entry_lastname, entry_street_address, entry_suburb, 
entry_postcode, entry_city, entry_state, entry_country_id, entry_zone_id, 
[B]address_date_added[/B], address_last_modified, address_class) values (2, 2, 'm', '', 'Vorname', 
'Nachname', 'Straße Nr', '', 'PLZ als String', 'Ort', '', 81, 81, 2010-11-27, 2010-11-27, '')
```
(dick ist die Spalte die in der SQL Exception angegeben wird)

Achja noch zu erwähnen - das ist der zweite Datensatz der Tabelle, der erste Datensatz mit Nullwerten geht durch. Hier wurde schon die Nullwert-Behandlung von SQL in den VErbindungsaufbau eingefügt - zeroDateTimeBehavior=convertToNull!

Der zweite Datensatz ist also der erste Datensatz mit richtigen Werten.

besten Dank


----------



## SlaterB (21. Aug 2012)

2010-11-27 kannst du wohl in keinem SQL je einfach so schreiben,
wie aber ein Date zu repräsentieren ist hängt von der DB ab, mindestens z.B. als Zeichenkette '2010-11-27'

in Oracle schreibe ich TO_DATE('10.10.2010','DD.MM.YYYY')

siehe z.B.
MySQL :: MySQL 5.1 Referenzhandbuch :: 11.3 Datums- und Zeittypen


----------



## Einklang. (21. Aug 2012)

Ok danke habe noch etwas rumprobiert und ein "Ersatzdatum" bei Nullwerten angegeben - jetzt geht es anscheinend...!


----------

