有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将字符串转换为datetime SQLServer2008

我有26062012格式。 我想在SQL Server 2008中将此格式转换为datetime

我的代码是:

else if (str.equalsIgnoreCase("DATETIME")){
    sb.append("CONVERT(Datetime,'").append(strCell).append("',102)").append(',');
}

错误是:

com.microsoft.sqlserver.jdbc.SQLServerException: The conversion of a 
  varchar data type to a datetime data type resulted in an out-of-range value.

共 (1) 个答案

  1. # 1 楼答案

    您的日期字符串缺少分别在日和月或月和年之间分隔的点

    102格式看起来像2012.06.26

    为了把你的格式变成可分析的格式,我建议把你的字符串改成

    String changedDate = yourDate.SubString(0,2)+"."+yourDate.SubString(2,4)+"."+yourDate.SubString(4,8)
    

    并使用104格式

    另外,请按照fge所说的做,并使用API来构建您的查询

    编辑 如果必须更频繁地在多个应用程序中转换相同的格式,还可以在数据库中构建存储过程或函数,如so