在查询中添加参数2后,收到错误消息:SQL Server错误“字符串数据,右截断”。
用户在Excel 2010电子表格中输入参数,并在SQL语句中使用这些参数来更新报告。
示例:
财政年度(参数1):2014年, GL日期(参数2)yyyymmdd:20140228
错误产生于:“GLPOST.JRNLDATE< =?”这是parameter2
WHERE GLAMF.ACCTID = GLPOST.ACCTID AND GLACGRP.ACCTGRPCOD = GLAMF.ACCTGRPCOD AND
GLPOST.DRILLDWNLK = BKTRAND.DDLINK AND GLACGRP.SORTCODE='1000' AND
GLPOST.FISCALYR>=? AND GLPOST.JRNLDATE<=?
在数据库中,GLPOST.FISCALYR是(char(4),而不是null)并且工作正常。
GLPOST.JRNLDATE是(decimal(9,0),not null)导致错误。如果我输入一个硬编码的值,如:20140228,20131231等...它可以工作,但它似乎没有从单元格中获取值。
我确实尝试过不同的格式,但没有成功,任何想法?谢谢!!
答案 0 :(得分:1)
也许尝试像这样输出参数:
GLPOST.FISCALYR&GT; =? AND GLPOST.JRNLDATE&lt; = cast(?as decimal(9,0))