我的用户从前端系统向sql查询中输入参数。我之前已经成功传递了字符串,但是现在我想传递日期变量。我的SQL如下:
SELECT sum(CASE WHEN P.SNAPSHOT_DATE = '{?startdate}' THEN P.MKT_VAL ELSE 0 END)
FROM P
前端有一些sql定义了startdate
是什么。
就像我说的那样,用弦乐实现梦想。不幸的是,我的编译器需要一个日期,因此出现以下错误:
Conversion failed when converting date and/or time from character string.
我尝试用cast包围我的变量,并使其没有运气。
答案 0 :(得分:0)
我认为在您的查询中,当您获得用户输入时,请将其转换为日期类型,即使用SQL
Set @userinput= select CAST(@userinput as date)
在前端,尝试使用户能够从日历中选择日期而不是手动输入日期,从而限制用户手动输入数据的数量,这应该会减少我认为的错误。让我知道转换的东西是否有效! :)