BI函数字典之时间日期函数
本文笔者为大家介绍了BI函数字典中的时间日期函数:DATE、DATETOSR、DAY、DAYS……
一、DATE
定义:DATE(I1,I2,I3)
返回由指定年、月、日合成的日期常量。
参数:
I1,I2,I3 为整数,分别表示年、月、日。
示例:
将指定年、月、日合成为日期常量,返回值为日期。
Date(1999,12,25)=#1999-12-25#
二、DATETOSTR
定义:DATETOSR(D), 或DATETOSR(D,C)
将一日期转变成字符串。
参数:
D 要转换为字符串的日期,也可以是字符串。
C 字符串的格式:
- 可忽略此参数。忽略此参数后,默认为yyyy-mm-dd
- 字符串格式中,y表示年,m表示月,d表示日
- 字符串格式中,如果是小写字母(y,m,d),则返回值取阿拉伯数字(123等);如果是大写字母(Y,M,D),返回值为汉字(一二三等)
- 字符串格式中,支持三个连续的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月’)#>”。
三、DAY
定义:DAY(D)
返回日期中的日,返回值为整数。
参数:
D 参数可以为日期,也可以为字符串表示的日期。
示例:
返回日期中的日,返回值为整数。
Day(#1999-12-1#)=1
Day(today())=11
下面的示例中,参数为字符串表示的日期:
Day(‘20010102’)返回02
Day(‘2001-01-02’)返回02
四、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为日期型的报表参数变量。
五、DXDATE
定义:DXDATE(D)
将日期变成大写格式。
参数:
D 参数可以为日期,也可以为字符串表示的日期。
示例:
将指定日期变成大写格式,返回值为字符串。
DXDATE(#1999-01-01#)=”一九九九年一月一日”
下面的示例中,参数为字符串表示的日期:
DXDATE(‘19990101’)返回一九九九年一月一
DXDATE(‘1999-01-01’)返回一九九九年一月一
六、MONTH
定义:MONTH(D)
回日期中的月份。
参数:
D 参数可以为日期,也可以为用字符串表示的日期。
示例:
返回日期中的月份,返回值为整数。
Month(#1999-12-1#)=12
下面的示例中,参数为字符串表示的日期:
Month(‘20010101’)返回01
Month(‘2001-01-01’)返回01
七、NOW
定义:NOW()
返回系统当前时间,返回是的服务器上的系统时间。
参数:
无。
示例:
返回系统当前时间,返回值为字符串,格式为:HH:MM:SS。
NOW()=”12:56:50″
八、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),表示是去年的今天
九、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日”) = 二零零六年十月一日
十、TODAY
定义:TODAY ()
以日期常量的形式返回当天的日期。
参数:
无
示例:
以日期常量的形式返回当天的日期。
TODAY()=#2006-07-25#
十一、WEEKDAY
定义:WEEKDAY(D)
返回指定日期为一周中的第几天。
参数:
D 指定的日期,也可以是字符串表示的日期。
示例:
返回指定日期为一周中的第几天。返回类型为整型。
Weekday(#2005-01-03#)=2
2005年01月03日为星期一,为本周的第2天,所以返回值为2。(星期日为本周的第1天)
下面示例中,参数为字符串表示的日期:
Weekday(‘20010101’)返回1
Weekday(‘2001-01-01’)返回1
十二、ABS
定义:WOFM(D)
返回日期Date所在的周是所在月的第几周,第一周从本月的第一个周一算起。
参数:
D 指定的日期。
示例:
返回日期Date所在的周是所在月的第几周。
假如今天是2005年6月21日,则 WOFM(today())返回的值为3,表示是第3周;因为2005年6月的1–4日所在周的周一在上月的最后一周,所以是第3周。
十三、YEAR
定义:YEAR(D)
返回日期中的年份,返回值为整数。
参数:
D 指定的日期,也可以为用字符串表示的日。
示例:
返回日期中的年份,返回值为整数。
Year(#2006-08-01#)=2006
下面示例中,参数为字符串表示的日期:
YEAR(‘20010101’)返回2001
YEAR(‘2001-01-01’)返回2001
本文由@数据分析狮 原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash, 基于CC0协议。
- 目前还没评论,等你发挥!