时间格式 SQLSERVER ORACLE两个数据库通用
我本来的SQL 语句大概是这么写的
select * from aaa where updatedate>DateHelper.formatDateToString(date,'yyyy-MM-dd')
public static String formatDateToString(Date date, String pattern)
{
if (date == null)
{
return "";
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
就是 一个 时间字符串
但我数据库 换 ORACLE版本的时候就出现问题
只有把方法改成
public static String formatDateToOracle(Date date, String pattern)
{
if (date == null)
{
return "";
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return "to_date('"+sdf.format(date)+"','"+pattern+"')";
}
有没有一种写法是不用改方法的
直接 可以做到 ORALCE 和 SQLSERVER通用的 ?
------解决方案--------------------
你误会了,我是把{d }放到sql代码段里的啊
PreparedStatement ps = conn.prepareStatement("select * from junzheng_dual where dateval > {d ?}");
ps.setString(1, "2012-05-12");
这要是不行我去吃ANSI SQL-2标准