BI函数字典——时间日期函数

4139
2

tangmq 数据达人Lv4

发表于2019-4-23 09:45

楼主
1     DATE
定义:DATE(I1,I2,I3)
返回由指定年、月、日合成的日期常量。
参数:
I1,I2,I3  为整数,分别表示年、月、日。
示例:
将指定年、月、日合成为日期常量,返回值为日期。
Date(1999,12,25)=#1999-12-25#
2     DATETOSTR
定义:DATETOSR(D), DATETOSR(D,C)
将一日期转变成字符串。
参数:
D 要转换为字符串的日期,也可以是字符串。
C  字符串的格式,
1、可忽略此参数。忽略此参数后,默认为yyyy-mm-dd
2、字符串格式中,y表示年,m表示月,d表示日
3、字符串格式中,如果是小写字母(y,m,d),则返回值取阿拉伯数字(123等);如果是大写字母(Y,M,D),返回值为汉字(一二三等)
4、字符串格式中,支持三个连续的mmm,表示将月份转换成英文
示例:
例如,日期常量为#2006-10-01#
   DATETOSTR(#2006-10-01#)=2006-10-01
   DATETOSTR(#2006-10-01#,"yyyy-mm-dd")=2006-10-01
   DATETOSTR(#2006-10-01#,"yyyy年mm月dd日")=2006年10月01日
   DATETOSTR(#2006-10-01#,"YYYY年MM月DD日")=二零零六年十月一日
   DATETOSTR(#2006-10-01#,"yy年mm月dd")=06年10月01
   DATETOSTR(#2006-10-01#,"YY年MM月DD")=零六年十月一

   下面的示例中,参数为字符串表示的日期:
   DATETOSTR('20010801','ddmmmyyyy')=08 Aug 2001

下面的示例中,函数的参数为报表模板中使用的日期型的报表参数变量:
DATETOSTR(@bbq,'yyyy年mm月dd日'),其中@bbq为日期型的报表参数变量。例如,报表模板中在表头上显示数据期时,常这样设置:
“数据期:<#=datetostr(@month,'yyyy年mm月')#>”。
3     DAY
定义:DAY(D)
返回日期中的日,返回值为整数。
参数:
D 参数可以为日期,也可以为字符串表示的日期。
示例:
返回日期中的日,返回值为整数。
Day(#1999-12-1#)=1
Day(today())=11

下面的示例中,参数为字符串表示的日期:
Day('20010102')返回02
Day('2001-01-02')返回02
4     DAYS
定义:DAYS(D1,D2)
返回两个日期之间的天数。
参数:
D1,D2 分别表示日期,也可以为用字符串表示的日期。
示例:
返回两个日期之间的天数。天数中包括两头的日期。返回值为整数。
DAYS(#1999-12-1#,#1999-12-10#)=10
days(today(),strtodate('20060101','yyyymmdd'))
days(today(),'20060101')
days('20060101',today())

下面的示例中,函数的参数为报表模板中使用的日期型的报表参数变量:
DAYS(@bbqq,@bbqz),其中@bbqq、@bbqz为日期型的报表参数变量
5     DXDATE
定义:DXDATE(D)
将日期变成大写格式。
参数:
D 参数可以为日期,也可以为字符串表示的日期。
示例:
将指定日期变成大写格式,返回值为字符串。
DXDATE(#1999-01-01#)="一九九九年一月一日"

下面的示例中,参数为字符串表示的日期:
DXDATE('19990101')返回一九九九年一月一
DXDATE('1999-01-01')返回一九九九年一月一
6     MONTH
定义:MONTH(D)
回日期中的月份。
参数:
D 参数可以为日期,也可以为用字符串表示的日期。
示例:
返回日期中的月份,返回值为整数。
Month(#1999-12-1#)=12

下面的示例中,参数为字符串表示的日期:
Month('20010101')返回01
Month('2001-01-01')返回01
7     NOW
定义:NOW()
返回系统当前时间,返回是的服务器上的系统时间。
参数:
无。
示例:
返回系统当前时间,返回值为字符串,格式为:HH:MM:SS。
NOW()="12:56:50"
8     OFFSETDATE
定义:OFFSETDATE(D,I1,I2,I3)OFFSETDATE(D,I1)OFFSETDATE(D,I1,I2)
计算某日期之前(后)若干天(或者月、年)的日期,如offsetdate(today(),-1)求出去年的今天。
参数:
D 表示日期。
I1,I2,I3为整数,分别表示指定日期前(后)的若干年、月、日。小于0,表示是指定日期前的若干年、月、日;大于0,表示是指定日期后若干年、月、日
示例:
计算某日期之前(后)若干天(或者月、年)的日期,返回值为日期。
offsetdate(today(),-1),表示是去年的今天
9     STRTODATE
定义:STRTODATE(C1),STRTODATE(C1,C2)
将一字符串转变成一日期。
参数:
C1 将要转换为日期的字符串,或者日期。
C2 1、指定要转换的字条串的日期格式,可忽略。忽略此参数后,默认转换的日期格式为“yyyy-mm-dd”;
2、字符串中,y表示年,m表示月,d表示日
3、字符串如果为小写字母(y/m/d),则返回值为阿拉伯数字(123等);如果为大写字母(Y/M/D),则返回值为汉字(一二三等)
示例:
将指定格式的字符串转变成一日期,返回值为日期。
strtodate("2006-10-01")= #2006-10-01#
strtodate("2006/10/01","yyyy/mm/dd") = #2006/10/01#
strtodate("2006年10月01","yyyy年mm月dd日") = 2006年10月01日
strtodate("2006年10月01","YYYY年MM月DD日") = 二零零六年十月一日
10  TODAY
定义:TODAY ()
以日期常量的形式返回当天的日期。
参数:
示例:
以日期常量的形式返回当天的日期。
TODAY()=#2006-07-25#
11  WEEKDAY
定义:WEEKDAY(D)
返回指定日期为一周中的第几天。
参数:
D 指定的日期,也可以是字符串表示的日期。
示例:
返回指定日期为一周中的第几天。返回类型为整型。
Weekday(#2005-01-03#)=2
2005年01月03日为星期一,为本周的第2天,所以返回值为2。(星期日为本周的第1天)

下面示例中,参数为字符串表示的日期:
Weekday('20010101')返回1
Weekday('2001-01-01')返回1
12  ABS
定义:WOFM(D)
返回日期Date所在的周是所在月的第几周,第一周从本月的第一个周一算起。
参数:
D 指定的日期。
示例:
返回日期Date所在的周是所在月的第几周。
假如今天是2005年6月21日,则 WOFM(today())返回的值为3,表示是第3周;因为2005年6月的1--4日所在周的周一在上月的最后一周,所以是第3周。
13  YEAR
定义:YEAR(D)
返回日期中的年份,返回值为整数。
参数:
D 指定的日期,也可以为用字符串表示的日。
示例:
返回日期中的年份,返回值为整数。
Year(#2006-08-01#)=2006
下面示例中,参数为字符串表示的日期:
YEAR('20010101')返回2001
YEAR('2001-01-01')返回2001



2个回答

只看楼主

辰哥 管理员

发表于2019-12-5 15:14

只看该作者

取消 关注该作者的回复

沙发

学习!

jack_han 数据小白Lv1

发表于2020-8-31 21:21

只看该作者

取消 关注该作者的回复

板凳

怎么求月数?比如2020年2月到2020年8月有6个月,计算结果返回6。

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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