BI函數(shù)字典之時(shí)間日期函數(shù)
本文筆者為大家介紹了BI函數(shù)字典中的時(shí)間日期函數(shù):DATE、DATETOSR、DAY、DAYS……
一、DATE
定義:DATE(I1,I2,I3)
返回由指定年、月、日合成的日期常量。
參數(shù):
I1,I2,I3??為整數(shù),分別表示年、月、日。
示例:
將指定年、月、日合成為日期常量,返回值為日期。
Date(1999,12,25)=#1999-12-25#
二、DATETOSTR
定義:DATETOSR(D),?或DATETOSR(D,C)
將一日期轉(zhuǎn)變成字符串。
參數(shù):
D 要轉(zhuǎn)換為字符串的日期,也可以是字符串。
C??字符串的格式:
- 可忽略此參數(shù)。忽略此參數(shù)后,默認(rèn)為yyyy-mm-dd
- 字符串格式中,y表示年,m表示月,d表示日
- 字符串格式中,如果是小寫字母(y,m,d),則返回值取阿拉伯?dāng)?shù)字(123等);如果是大寫字母(Y,M,D),返回值為漢字(一二三等)
- 字符串格式中,支持三個(gè)連續(xù)的mmm,表示將月份轉(zhuǎn)換成英文
示例:
例如,日期常量為#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”)=零六年十月一
下面的示例中,參數(shù)為字符串表示的日期:
DATETOSTR(‘20010801′,’ddmmmyyyy’)=08 Aug 2001
下面的示例中,函數(shù)的參數(shù)為報(bào)表模板中使用的日期型的報(bào)表參數(shù)變量:
DATETOSTR(@bbq,’yyyy年mm月dd日’),其中@bbq為日期型的報(bào)表參數(shù)變量。例如,報(bào)表模板中在表頭上顯示數(shù)據(jù)期時(shí),常這樣設(shè)置:
“數(shù)據(jù)期:<#=datetostr(@month,’yyyy年mm月’)#>”。
三、DAY
定義:DAY(D)
返回日期中的日,返回值為整數(shù)。
參數(shù):
D 參數(shù)可以為日期,也可以為字符串表示的日期。
示例:
返回日期中的日,返回值為整數(shù)。
Day(#1999-12-1#)=1
Day(today())=11
下面的示例中,參數(shù)為字符串表示的日期:
Day(‘20010102’)返回02
Day(‘2001-01-02’)返回02
四、DAYS
定義:DAYS(D1,D2)
返回兩個(gè)日期之間的天數(shù)。
參數(shù):
D1,D2 分別表示日期,也可以為用字符串表示的日期。
示例:
返回兩個(gè)日期之間的天數(shù)。天數(shù)中包括兩頭的日期。返回值為整數(shù)。
DAYS(#1999-12-1#,#1999-12-10#)=10
days(today(),strtodate(‘20060101′,’yyyymmdd’))
days(today(),’20060101′)
days(‘20060101’,today())
下面的示例中,函數(shù)的參數(shù)為報(bào)表模板中使用的日期型的報(bào)表參數(shù)變量:
DAYS(@bbqq,@bbqz),其中@bbqq、@bbqz為日期型的報(bào)表參數(shù)變量。
五、DXDATE
定義:DXDATE(D)
將日期變成大寫格式。
參數(shù):
D 參數(shù)可以為日期,也可以為字符串表示的日期。
示例:
將指定日期變成大寫格式,返回值為字符串。
DXDATE(#1999-01-01#)=”一九九九年一月一日”
下面的示例中,參數(shù)為字符串表示的日期:
DXDATE(‘19990101’)返回一九九九年一月一
DXDATE(‘1999-01-01’)返回一九九九年一月一
六、MONTH
定義:MONTH(D)
回日期中的月份。
參數(shù):
D 參數(shù)可以為日期,也可以為用字符串表示的日期。
示例:
返回日期中的月份,返回值為整數(shù)。
Month(#1999-12-1#)=12
下面的示例中,參數(shù)為字符串表示的日期:
Month(‘20010101’)返回01
Month(‘2001-01-01’)返回01
七、NOW
定義:NOW()
返回系統(tǒng)當(dāng)前時(shí)間,返回是的服務(wù)器上的系統(tǒng)時(shí)間。
參數(shù):
無。
示例:
返回系統(tǒng)當(dāng)前時(shí)間,返回值為字符串,格式為:HH:MM:SS。
NOW()=”12:56:50″
八、OFFSETDATE
定義:OFFSETDATE(D,I1,I2,I3)或OFFSETDATE(D,I1)或OFFSETDATE(D,I1,I2)
計(jì)算某日期之前(后)若干天(或者月、年)的日期,如offsetdate(today(),-1)求出去年的今天。
參數(shù):
D 表示日期。
I1,I2,I3為整數(shù),分別表示指定日期前(后)的若干年、月、日。小于0,表示是指定日期前的若干年、月、日;大于0,表示是指定日期后若干年、月、日
示例:
計(jì)算某日期之前(后)若干天(或者月、年)的日期,返回值為日期。
offsetdate(today(),-1),表示是去年的今天
九、STRTODATE
定義:STRTODATE(C1),或STRTODATE(C1,C2)
將一字符串轉(zhuǎn)變成一日期。
參數(shù):
C1 將要轉(zhuǎn)換為日期的字符串,或者日期。
C2
1. 指定要轉(zhuǎn)換的字條串的日期格式,可忽略。忽略此參數(shù)后,默認(rèn)轉(zhuǎn)換的日期格式為“yyyy-mm-dd”;
2. 字符串中,y表示年,m表示月,d表示日
3. 字符串如果為小寫字母(y/m/d),則返回值為阿拉伯?dāng)?shù)字(123等);如果為大寫字母(Y/M/D),則返回值為漢字(一二三等)
示例:
將指定格式的字符串轉(zhuǎn)變成一日期,返回值為日期。
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 ()
以日期常量的形式返回當(dāng)天的日期。
參數(shù):
無
示例:
以日期常量的形式返回當(dāng)天的日期。
TODAY()=#2006-07-25#
十一、WEEKDAY
定義:WEEKDAY(D)
返回指定日期為一周中的第幾天。
參數(shù):
D 指定的日期,也可以是字符串表示的日期。
示例:
返回指定日期為一周中的第幾天。返回類型為整型。
Weekday(#2005-01-03#)=2
2005年01月03日為星期一,為本周的第2天,所以返回值為2。(星期日為本周的第1天)
下面示例中,參數(shù)為字符串表示的日期:
Weekday(‘20010101’)返回1
Weekday(‘2001-01-01’)返回1
十二、ABS
定義:WOFM(D)
返回日期Date所在的周是所在月的第幾周,第一周從本月的第一個(gè)周一算起。
參數(shù):
D 指定的日期。
示例:
返回日期Date所在的周是所在月的第幾周。
假如今天是2005年6月21日,則 WOFM(today())返回的值為3,表示是第3周;因?yàn)?005年6月的1–4日所在周的周一在上月的最后一周,所以是第3周。
十三、YEAR
定義:YEAR(D)
返回日期中的年份,返回值為整數(shù)。
參數(shù):
D 指定的日期,也可以為用字符串表示的日。
示例:
返回日期中的年份,返回值為整數(shù)。
Year(#2006-08-01#)=2006
下面示例中,參數(shù)為字符串表示的日期:
YEAR(‘20010101’)返回2001
YEAR(‘2001-01-01’)返回2001
本文由@數(shù)據(jù)分析獅 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash, 基于CC0協(xié)議。
- 目前還沒評(píng)論,等你發(fā)揮!