虽然狐表提供可用于表达式的函数不多,但以它来求年月日,还是可行嘀!
[此贴子已经被作者于2008-11-10 17:41:13编辑过]
支持原创.用函数太熟了...学习
但我的认为:代码越简单,越快....
[此贴子已经被作者于2008-11-10 1:14:53编辑过]
呵呵,这里还是用代码舒服点,这是典型的Y式风格的公式,非常人能写出来的。
不过求月、日、年的公式,非常奇妙,我已经据此更新了帮助文件。
[此贴子已经被作者于2008-11-10 9:44:19编辑过]
以下是引用czy在2008-11-10 15:11:00的发言:
Y式风格,经典。
可惜俺只有看的份,猴年马月咱也学不会。
哈哈,对于Y式风格,也要有所选择的,我就只用他的年、月、日计算公式,其余的看得头晕,我宁愿用代码了。
尽力简化一下吧:
非常【日满26则月进1】_年:
Convert(SUBSTRING(Convert([日期],'System.String'),1,4),'System.Int16')+IIF(SUBSTRING(Convert([日期],'System.String'),6,5) in ('12-26','12-27','12-28','12-29','12-30','12-31'),1,0)
非常【日满26则月进1】_月:
IIF(SUBSTRING(Convert([日期],'System.String'),6,5) in ('12-26','12-27','12-28','12-29','12-30','12-31'),1,Convert(SUBSTRING(Convert([日期],'System.String'),6,IIF(SUBSTRING(Convert([日期],'System.String'),7,1) = '-',1,2)),'System.Int16')+IIF(SUBSTRING(Convert([日期],'System.String'),8,3) in ('-26','-27','-28','-29','-30','-31','26','27','28','29','30','31'),1,0))
月底日期:
SUBSTRING(Convert([日期],'System.String'),1,IIF(SUBSTRING(Convert([日期],'System.String'),7,1) = '-',7,8))+IIF(SUBSTRING(Convert([日期],'System.String'),6,IIF(SUBSTRING(Convert([日期],'System.String'),7,1) = '-',1,2))= 2,28+IIF(Convert(SUBSTRING(Convert([日期],'System.String'),1,4),'System.Int16') % 4 = 0, 1,0),IIF(Convert(SUBSTRING(Convert([日期],'System.String'),6,IIF(SUBSTRING(Convert([日期],'System.String'),7,1) = '-',1,2)),'System.Int16') In (1,3,5,7,8,10,12),31,30))
加n年日期:
Convert(SUBSTRING(Convert([日期],'System.String'),1,4),'System.Int16')+[n]+SUBSTRING(Convert([日期],'System.String'),5,15)
[此贴子已经被作者于2008-11-11 9:00:29编辑过]