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

0 评论 2577 浏览 8 收藏 9 分钟

本文笔者为大家介绍了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  字符串的格式:

  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月’)#>”。

三、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协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!