# Date in SQL-String konvertieren



## K-Man (29. Nov 2010)

Hallo zusammen
Ich habe folgendes Problem. Ich muss einen SQL-Befehl ausführen, bei dem die Datenbank vorher nicht bekannt ist. Ich packe also alles in einen String und führe den String dann über exec sp_executesql @sql aus
Das klappt auch alles wunderbar. Nur soll im String eine Datumsabfrage stattfinden. Also ob ein bestimmtest Datum größer ist als ein anderes.

```
set @sql = 'select * from ' + @table + ' where Date < ' + @date
```
geht nicht. Wahrscheinlich, weil das konvertieren von @date in einen char nicht geht. Also muss ich es per Hand machen.

```
convert(varchar(50), @date, 104)
```
Das geht aber auch nicht. Wie kann ich erreichen, dass der SQL-Befehl ausgeführt werden kann? Und woher weiß ich, welches Format ich nehmen muss? Es sollte unter deutschem und englischem Betriebssystem laufen. Ich verwende den MS SQL Server 2005

Schon mal vielen Dank
Stefan


----------



## bone2 (29. Nov 2010)

Datum aus MySQL sollte in Timestamp passen java.sql.Timestamp
Im Endeffekt ist es nur ein long mit der Millisekundenzahl seit 1970


----------



## K-Man (29. Nov 2010)

Wie gesagt, ich verwende MS SQLServer und ich mach die Abfragen in einer StoredProcedure. Also nicht in Java. Deswegen auch der Aufruf von exec sp_executesql @sql

Aber trotzdem danke.


----------



## bone2 (29. Nov 2010)

hm dann ist ein java forum vielleicht die falsche gegend um zu fragen


----------

