我很好奇Access的SQL版本中是否有任何专家可以帮助我解码以下内容?我不太擅长Access,请尝试使用SSMS,但是我要接管已经生成的报告。
谢谢!
LT CRD: IIf(Day(Date()+[IAM_MAN_LEAD_TIME]) Between 1 And 15,DateSerial(Year(Date()+[IAM_MAN_LEAD_TIME]),Month(Date()+[IAM_MAN_LEAD_TIME]),15),DateSerial(Year(Date()+[IAM_MAN_LEAD_TIME]),Month(Date()+[IAM_MAN_LEAD_TIME])+1,0))
答案 0 :(得分:2)
换句话说,代码在说
”如果当前日期+ [IAM_MAN_LEAD_TIME]
导致一个月的前15天为日期,则返回该月的15号;否则,返回该月最后一天的日期。”
供参考-
Date()
返回当前日期Day()
返回日期的日期部分,例如Day(#2018-10-29#) = 29
DateSerial()
返回以年,月和日为参数的日期。Year()
返回日期的年份部分,例如Year(#2018-10-29#) = 2018
Month()
返回日期的月份部分,例如Month(#2018-10-29#) = 10
还请注意,DateSerial(Year, Month, 0)
将返回上个月的最后一天,即DateSerial(Year, Month, 1)
的前一天