java - 如何在 SQL 查询中将字符串转换为日期时间?

标签 java sql-server-2005 jdbc

Possible Duplicate:
TSQL: datetime from character string error

我无法将字符串转换为日期时间。我使用的是 SQL Server 2005。

String frmDate="03/09/2012";
String toDate="04/09/2012";

SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy");
Date frmDate1 = formater.parse(frmDate);
Date toDate1=formater.parse(toDate);


 String query3="select * from dbo.Monthly_PFSPL "  +  
    "where Convert (datetime,Added_Date,103) "  +  
"between '"+frmDate1+"' and '"+toDate1+"' ";
        rsobj1=stat2.executeQuery(query3);

我收到此异常:

java.sql.SQLException: Conversion failed when converting datetime from character string

最佳答案

必须必须使用PreparedStatement和参数化SQL语句。

String query="select * from dbo.Monthly_PFSPL where Convert(datetime,Added_Date,103) between  ? and ?";

关于java - 如何在 SQL 查询中将字符串转换为日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12242667/

相关文章:

java - 如何配置 Quarkus 超过 20 个 Mysql 连接?

java - 具有聚合/组合的 Spring Framework JDBC DAO

java - 如何捕获静态初始化程序 block 中抛出的异常

java - 什么是 zookeeper 端口及其用途?

java - 单元测试,自定义调用类改造2请求: Reponse has private access

java - 如何安装 Java 7 EE SDK 下载为 Mac OSX 的 .sh 文件

sql-server-2005 - 如何在一列(PK)表中插入行a?

database - SQL Server 2005 审计

sql - 在 T-SQl 中使用 Like 来搜索由未知数量的空格分隔的单词

java - PreparedStatement setString(...) for all,即使对应的数据类型是整数