Crystal Reports命令参数转换为日期发布(在此处)

2020-08-26 15:43发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我已经使用带有SQL命中SQL Server的命令创建了CR。 还创建了开始日期和结束日期参数/提示。

所以我的命令基本上是这样的...

声明@BeginDate AS VARCHAR(100)
 设置@BeginDate ='{?BeginDate}'
 声明@EndDate AS VARCHAR(100)
 设置@EndDate ='{?EndDate}'
 -对@BeginDate和@EndDate进行了一些操作
 最终@FinalBeginDate和@FinalEndDAte通过...设置为日期值
 设置@FinalBeginDate = CAST(@BeginDate作为DATE)
 设置@FinalEndDate = CAST(@EndDate作为DATE)
 

然后运行SELECT,返回许多字段,其中包括PERIOD,这是VARCHAR(6)定义的字段,其中包含格式为YYYYMM的年和月值。

我希望我的WHERE子句具有这样的内容...

SELECT ...在哪里CAST(句点+'10'作为日期)> = @FinalBeginDate和CAST(PERIOD +'10'作为日期)<= @FinalEndDate

我始终收到此错误...

无法从数据库检索数据。

详细信息22007:[Microsoft] [SQL Server Native Client 11.0] [SQL Server]从字符字符串转换日期和/或时间时,转换失败。 [数据库供应商代码:241]

注意:如果我不考虑WHERE条件,则尝试创建并显示@FinalBeginDate和@FinalEndDate,输出为12/1/2019和12/31/2019。 如果我显示PERIOD,则为201912。

我已经尝试了此行的大量变化:

CAST(PERIOD +'10'AS DATE)> = @FinalBeginDate和CAST(PERIOD +'10'AS DATE)<= @FinalEndDate

在PERIOD,@ FinalBeginDate和@FinalEndDate上使用CONVERT,CAST等,但是我无法解决该错误。

有人有建议吗?

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我已经使用带有SQL命中SQL Server的命令创建了CR。 还创建了开始日期和结束日期参数/提示。

所以我的命令基本上是这样的...

声明@BeginDate AS VARCHAR(100)
 设置@BeginDate ='{?BeginDate}'
 声明@EndDate AS VARCHAR(100)
 设置@EndDate ='{?EndDate}'
 -对@BeginDate和@EndDate进行了一些操作
 最终@FinalBeginDate和@FinalEndDAte通过...设置为日期值
 设置@FinalBeginDate = CAST(@BeginDate作为DATE)
 设置@FinalEndDate = CAST(@EndDate作为DATE)
 

然后运行SELECT,返回许多字段,其中包括PERIOD,这是VARCHAR(6)定义的字段,其中包含格式为YYYYMM的年和月值。

我希望我的WHERE子句具有这样的内容...

SELECT ...在哪里CAST(句点+'10'作为日期)> = @FinalBeginDate和CAST(PERIOD +'10'作为日期)<= @FinalEndDate

我始终收到此错误...

无法从数据库检索数据。

详细信息22007:[Microsoft] [SQL Server Native Client 11.0] [SQL Server]从字符字符串转换日期和/或时间时,转换失败。 [数据库供应商代码:241]

注意:如果我不考虑WHERE条件,则尝试创建并显示@FinalBeginDate和@FinalEndDate,输出为12/1/2019和12/31/2019。 如果我显示PERIOD,则为201912。

我已经尝试了此行的大量变化:

CAST(PERIOD +'10'AS DATE)> = @FinalBeginDate和CAST(PERIOD +'10'AS DATE)<= @FinalEndDate

在PERIOD,@ FinalBeginDate和@FinalEndDate上使用CONVERT,CAST等,但是我无法解决该错误。

有人有建议吗?

谢谢

付费偷看设置
发送
1条回答
Tong__Ming
1楼-- · 2020-08-26 16:03

迈克尔,你好

在PERIOD为空的地方有吗? 如果是这样,那可能是导致您出错的原因,您必须解决这个问题。

此外,我可能会从另一个角度来看待这个问题。 与其尝试将PERIOD转换为日期,不如将最终的开始日期和结束日期重新格式化为YYYYMM格式的字符串。 看起来像这样:

 IsNull(PERIOD,'000000')> = left(Convert(varchar,@FinalBeginDate,112),6)和
 IsNull(PERIOD,'000000')<=左(Convert(varchar,@FinalEndDate,112),6)

-Dell

一周热门 更多>