回 帖 发 新 帖 刷新版面

主题:请教:关于从表中日期字段计算月份的数量!

请教:关于从表中日期字段计算月份的数量问题
一个表中有一个日期的字段“审核日期”,我想根据输入的日期,计算“审核日期”到“输入日期之间的月份数量!
计算公司如下:
ys=STR(((year(CTOD('&dynf2'))-year(CTOD('&dynf1')))*12+month(CTOD('&dynf2'))-month(CTOD('&dynf1'))),5)

当设置:
dynf2='2010-01-01'
dynf1='2009-01-01'
执行: SQLExec(lnHandle,"update bzmx set bzmx.zfbtjehj = '&ys' from bzmx")

bzmx.zfbtjehj 表中月份值是12个月,是正确的!

我想当开始时期“dynf1”为 BZMX 表中字段“审核日期”(bzmx.shrq)时,即每个人的实际“审核日期”,
执行SQLExec,结果不正确,没有计算除月份的数量!
即:
ys=STR(((year(CTOD('&dynf2'))-year(CTOD('&bzmx.shrq')))*12+month(CTOD('&dynf2'))-month(CTOD('&bzmx.shrq'))),5)

执行: SQLExec(lnHandle,"update bzmx set bzmx.zfbtjehj = '&ys' from bzmx")

搞了两天没有结果,请教各位!!!!

回复列表 (共3个回复)

沙发

问题出在那个点号“.”上

板凳


请讲具体点!
感谢!

3 楼

我们小学老师有一句口头禅:画公仔还要画出肠来?

ys=STR(((year(CTOD('&dynf2'))-year(bzmx.shrq))*12+month(CTOD('&dynf2'))-month(bzmx.shrq)),5)

执行: SQLExec(lnHandle,"update bzmx set bzmx.zfbtjehj = '&ys' from bzmx")


因为我不清楚也不敢确认你bzmx的数据中日期的格式,不敢说那些转换函数和宏替换是否正确或必要。

我来回复

您尚未登录,请登录后再回复。点此登录或注册