2010-09-14 5 views
1

Existe-t-il des modèles ou des méthodes connues de conversion d'une date à partir d'une représentation sous forme de chaîne en une représentation numérique et vice versa?
Arrière-plan:
J'utilise une base de données Apache Derby comme persistance pour un programme Java. Je voudrais faire quelque chose comme ceci:Conversion d'une date à partir d'une représentation sous forme de chaîne en une représentation numérique et retour

Select * from MyTable where date_column > 20100914154503 order by date_column DESC 
// 20100914154503 = 2010-09-14 15:45:03 

Mes dates sont stockées dans mon programme java J'utilise l'objet DateTime Joda Time (http://joda-time.sourceforge.net/).
Merci

+0

Vous avez donc une colonne d'horodatage dans la base de données et vous souhaitez interroger par une chaîne, ou vous avez une colonne de chaîne dans la base de données et vous voulez que le résultat soit un objet DateTime? – Affe

Répondre

1

envisager sérieusement la recherche sur la façon dont votre base de données gère les dates et le temps, car il peut probablement faire ce que vous avez besoin. Rappelez-vous que la date que vous avez doit être stockée dans un champ de date dans la table de base de données.

3

Je ne suis pas sûr de ce que vous essayez réellement faire ou pourquoi vous avez besoin d'utiliser une chaîne du tout, mais en général, vous devez utiliser un PreparedStatement. Ensuite, vous pouvez simplement définir la date dans le PreparedStatement en utilisant un java.sql.Timestamp:

DateTime date = ...; 
Connection conn = ...; 
PreparedStatement ps = conn.prepareStatement(
    "Select * from MyTable where date_column > ? order by date_column DESC"); 
ps.setTimestamp(1, new Timestamp(date.getMillis())); 
+0

Le stockage d'horodatage dans une base de données est agréable et efficace, et vous ne gagnerez rien en stockant un horodatage dans un champ numérique – Dunderklumpen

Questions connexes