【发布时间】:2021-09-01 10:27:15
【问题描述】:
我想传递一个日期时间作为 sybase 存储过程的参数并将其用于查询,但我总是得到错误
SQL Error: Syntax error during explicit conversion of VARCHAR value '2021-06-16 13:28:48.390' to a DATETIME field
我的存储过程是这样的:
create proc mystoredprocedure
@mydate varchar(50)
select * from mytable where date =CONVERT(DATETIME, @mydate, 121)
调用:
exec mystoredprocedure '2021-06-16 13:28:48.390'
用于 CONVERT 代码 121 的 Sybase 文档:
yyyy-mm-dd hh:nn:ss.sss (24 hour clock, ODBC canonical with milliseconds, 4-digit year)
有人知道我为什么会收到这个错误吗?
非常感谢!
安迪
【问题讨论】:
-
为什么使用 varchar 作为 proc 参数而不是日期时间?您可以将字符串中的多种不同日期格式传递给 datetime 参数,它会处理它们。
标签: sybase