使用ParallelPeriod注意事项-31日返回空值
来源:互联网 发布:top域名需要备案吗 编辑:程序博客网 时间:2024/06/05 08:53
如下面一个语句,查询的是2010-12-31日3个月前的那个日期,系统本应该返回的是2010-09-31,而我们知道9月份只有30没有31日的。结果系统实际最后返回给我们的是一个空值,所以碰到很多网友发现根据日期并用到了这个函数去查询结果时数据总不正确,很可能是这个潜在的问题导致的。
ParallelPeriod([ABM RECORDDATE].[年-半年-季度-月-日].[The Month],3,[ABM RECORDDATE].[年-半年-季度-月-日].[The Date].&[2010-12-31:00:00])
所以我们获取日期的语句可以改成
IIF(
ISEMPTY(ParallelPeriod([ABM RECORDDATE].[年-半年-季度-月-日].[The Month],3,[ABM RECORDDATE].[年-半年-季度-月-日].[The Date].&[2010-12-31T00:00:00])),
PeriodsToDate([ABM RECORDDATE].[年-半年-季度-月-日].[The Month],[ABM RECORDDATE].[年-半年-季度-月-日].[The Date].&[2010-12-31T00:00:00]).item(0).parent.lag(2).firstchild.PREVMEMBER,
ParallelPeriod([ABM RECORDDATE].[年-半年-季度-月-日].[The Month],3,[ABM RECORDDATE].[年-半年-季度-月-日].[The Date].&[2010-12-31T00:00:00])
)
像刚才的日期返回为空,我们改成返回2010-09-30,即本月1日(2010-12-01)的前两个月的第一天(2010-10-01)的前一天即2010-09-30
基本所有用到ParallelPeriod这个函数的网友都应该注意到这个问题。
我是通过IIF来判断的,网友有更简便更好的办法,可以分享一下。
另外考虑问题时要留意,2月有28日的,后面的29,30,31要找2月的对应日期都找不到的情况。
- 使用ParallelPeriod注意事项-31日返回空值
- Android使用ANativeWindow_fromSurface返回空
- 函数返回值注意事项
- 宏函数的使用和一个parallelPeriod函数解释
- struts2使用struts2-json-plugin, 返回json值为空..
- 使用findViewById获取到的返回值为空
- 使用DbHelperOra.Query查询Oracle数据库返回值为空
- findViewById 返回值为空
- DWR:返回值为空?
- Android getLocationInWindow()返回空值
- 页面返回与空链接的使用
- Pandas:merge函数使用注意事项(pandas的merge函数造成大量错误的空值)
- 解决ubuntu下python使用pymssql能连接sqlserver但返回值为空的问题
- 使用 聚合函数(aggregate function)时,SQL语句的返回值的注意事项
- bash中if条件语句的使用及bash返回值的注意事项
- getResourceAsStream返回值为空的问题
- ExecuteScalar()返回值为空怎么办
- ISHELL_LoadResImage 返回空值,失败的解决方法
- RTTI_cast
- Android Message
- Java获得系统环境变
- 关注LoadRunner脚本回放日志中的Warning信息
- C# 结构体和指针转换
- 使用ParallelPeriod注意事项-31日返回空值
- C# 结构体和指针转换
- struts2 s:select 标签
- GridView多表头固定+分组+总计
- JAVA资格认证:JSP中Action属性的功能浅析
- java多线程--OO方式
- Java的clone机制及其可变类与不可变类
- JQuery事件
- 我为什么要学习Hibernate