我有以下网络应用程序: 用户可以输入 java 简单日期格式模式和日期(当然与 java 简单日期格式模式匹配),我想将这些日期存储在 oracle 数据库中。
因此我需要将 java 简单日期格式模式转换为 oracle 模式。 例如:
- “dd-MM-yyyy HH:mm:ss”变成“DD-MM-YYYY HH24:MI:SS”
- “dd-MM-yy HH:mm:ss”变成“DD-MM-YY HH24:MI:SS”
- “dd-MM-yy HH:mm”变成“DD-MM-YY HH24:MI”
等等。
我希望将所有或至少一大堆 SimpleDateFormatPatterns 翻译成 Oracle 模式,而不是下面的代码只有一个 SimpleDateFormat:
SimpleDateFormat sFormat = new SimpleDateFormat( "dd-MM-yyyy HH:mm:ss");
String sqlSnippet = "TO_DATE('" + sFormat.format(date) + "','DD-MM-YYYY HH24:MI:SS')";
是否有库或可能只是一个映射列表来执行此操作?
谢谢。
编辑: 当用户在用户界面中定义条件、比较运算符和连接时,我需要手动构建 SQL。 最后我有这样的东西
AND col2 > TO_DATE('26-09-2012','DD-MM-YYYY')
最佳答案
Therefore I need to translate the java simple date format pattern into the oracle pattern
不,你不知道。您应该改为使用 PreparedStatement
,并调用 setDate
或 setTimestamp
在上面指定您感兴趣的值。
避免字符串转换,除非它们从根本上是您尝试执行的操作的一部分(例如,在 UI 中显示日期/时间)。对于简单地将信息从应用程序传输到数据库或反之亦然,您应该尽可能减少所需的转换次数。
关于java简单日期模式TO oracle sql日期模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25303409/