我想从我的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
答案 0 :(得分:2)
在上面的语句中你声明了变量
@ gather_date1 datetime, @ gather_date2 datetime
当你设置转换数据类型为varchar,所以它给你错误
如果要设置为datetime数据类型,则应使用
SELECT @date2= Convert(datetime,@collected_date2, 121) ;