1

我有26062012格式。我想将此格式转换为datetimeSQL Server 2008 中的格式。

我的代码是:

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.
4

1 回答 1

0

您的日期字符串在日期和月份或月份和年份之间缺少点作为分隔符。

格式102看起来像.2012.06.26

为了将您的格式转换为可解析的格式,我建议将您的字符串更改为

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

并使用104格式。

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

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

于 2013-06-10T09:06:14.370 回答