1

我想从我的 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

请问你能帮帮我吗 ?谢谢

4

1 回答 1

2

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

@collected_date1 日期时间,@collected_date2 日期时间

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

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

SELECT @date2= Convert(datetime,@collected_date2, 121)  ;
于 2012-08-26T16:45:56.787 回答