[亿信BI4.7] 取值时间写的是读取当月31号的值,为什么会读取7月1号的值?

2017
4

徐实力 小试身手Lv3

发表于2022-7-2 17:11

悬赏30

已解决

楼主
本帖最后由 徐实力 于 2022-7-2 17:34 编辑

and datetostr(@fcdltjyf^'31','yyyymmdd')


这是我写的读取当月31号的值,但是6月份是没有31号的,为什么6月31这天会读到7月1号的值?

最近看过此主题的会员

liyana

esen_3ICMLB3JIFV5

小怪兽

ESENSOFT官方技术支持

最佳答案
应该是datetostr自动把日期处理了,不使用datetostr,直接字符串拼接试试呢
比如 @ny+'31'
4个回答

只看楼主

小怪兽 数据达人Lv4

发表于2022-7-4 09:31

只看该作者

取消 关注该作者的回复

沙发

6月只有30号,所以您写的读取当月31号的值逻辑上有点问题哈,
建议先加个IF判断,比如为6月时,就读取当月30号的值
<#=if(right(@ny,2)='06',datetostr(@ny^'30','yyyymmdd'),datetostr(@ny^'31','yyyymmdd'))#>

徐实力 小试身手Lv3

发表于2022-7-4 09:49

只看该作者

取消 关注该作者的回复

板凳

小怪兽 发表于 2022-7-4 09:31
6月只有30号,所以您写的读取当月31号的值逻辑上有点问题哈,
建议先加个IF判断,比如为6月时,就读取当月3 ...

这个表需要读取每个月的值,从当月一号到最后一天,所以我是从一号到三十一号都写了读值的条件,=datetostr(@fcdltjyf^'31','yyyymmdd'),只是没想到这个条件会自动读取到次月一号的值,

徐实力 小试身手Lv3

发表于2022-7-4 09:51

只看该作者

取消 关注该作者的回复

地板

本帖最后由 徐实力 于 2022-7-4 09:52 编辑

小怪兽 发表于 2022-7-4 09:31
6月只有30号,所以您写的读取当月31号的值逻辑上有点问题哈,
建议先加个IF判断,比如为6月时,就读取当月3 ...

有什么办法可以解决没有三十一号这天的时候,让其数据为空,我是在过滤条件里写的

小怪兽 数据达人Lv4

发表于2022-7-2 17:11

只看该作者

取消 关注该作者的回复

5#

应该是datetostr自动把日期处理了,不使用datetostr,直接字符串拼接试试呢
比如 @ny+'31'

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号