将nvarchar转换为datetime时出错

时间:2012-08-26 16:40:33

标签: java sql-server stored-procedures

我想从我的java程序中执行我的MSSQL存储过程,给两个日期作为参数,以便在这两个日期之间进行选择。所以在java代码中我继续这样:

"EXEC [dbo].[MyProcedure] " + "'"+ dateFrom+"'" ,"'"+dateTo"'"

我已经在这样的sql server过程中声明了我的参数:@collected_date1 datetime, @collected_date2 datetime。 我选择了这两个日期:

SELECT @date1 = Convert(varchar(23),@collected_date1,121)
SELECT @date2= Convert(varchar(23),@collected_date2, 121)  

但是我有此消息错误:Error converting data type nvarchar to datetime

你能帮帮我吗? 谢谢

1 个答案:

答案 0 :(得分:2)

在上面的语句中你声明了变量

@ gather_date1 datetime, @ gather_date2 datetime

当你设置转换数据类型为varchar,所以它给你错误

如果要设置为datetime数据类型,则应使用

SELECT @date2= Convert(datetime,@collected_date2, 121)  ;