2024年4月12日发(作者:)
高品质SAP技术群:455101474 matinal
跟我学HANA系列之日期函数总结(SAP HANA Platform Core 2.0 SPS 00)
更多资料请加SAP群:455101474
1、 ADD_DAYS Function (Datetime)
计算指定日期加指定天数后的日期
语法:ADD_DAYS (
举例:计算当前日期加30天后的日期
2、 ADD_MONTHS Function (Datetime)
计算指定日期加指定月后的日期
语法:ADD_MONTHS (
参数:DATE、TIMESTAMP、SECONDDATE
举例:后面的例子就直接写SQL了,不再贴图
SELECT ADD_MONTHS (TO_DATE (CURRENT_DATE, 'YYYY-MM-DD'), 1) "add months" FROM
DUMMY;
3、 ADD_MONTHS_LAST Function (Datetime)
计算指定的日期加上指定的月份数,如果输入日期是一个月的最后一天,则输出日期是
该月份的最后一天,即使这两个日期不同。
语法:ADD_MONTHS_LAST (
参数:DATE、TIMESTAMP、SECONDDATE
举例:SELECT ADD_MONTHS_LAST (TO_DATE (CURRENT_DATE, 'YYYY-MM-DD'), 1) "add
months last" FROM DUMMY;
4、 ADD_SECONDS Function (Datetime)
计算指定时间加指定的秒数。
语法:ADD_SECONDS (
举例:SELECT ADD_SECONDS (TO_TIMESTAMP ('2016-12-26 09:30:45'), 60*30) "add
seconds" FROM DUMMY;
5、 ADD_WORKDAYS Function (Datetime)
通过添加多个工作日起始日期计算日期。
语法:ADD_WORKDAYS (
TFACS bitfield
0
1
1
0
0
1
2
3
4
5
Day of the month Reason for not working
Public Holiday
Weekend
Weekend
高品质SAP技术群:455101474 matinal
TFACS bitfield
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Day of the month Reason for not working
Public Holiday
Weekend
Weekend
Weekend
Weekend
Weekend
Weekend
举例:SELECT ADD_WORKDAYS('01', CURRENT_DATE, 1, 'FCTEST') "result date" FROM
DUMMY;
输出结果:10.01.2014
6、 ADD_YEARS Function (Datetime)
计算指定日期加指定年份。
语法:ADD_YEARS (
高品质SAP技术群:455101474 matinal
举例:SELECT ADD_YEARS (TO_DATE (CURRENT_DATE, 'YYYY-MM-DD'), 1) "add years" FROM
DUMMY;
7、 CURRENT_DATE Function (Datetime)
返回当前本地系统日期。
语法:CURRENT_DATE
举例:SELECT CURRENT_DATE "current date" FROM DUMMY;
8、 CURRENT_TIME Function (Datetime)
返回本地系统时间。
语法:CURRENT_TIME
举例:SELECT CURRENT_TIME "current time" FROM DUMMY;
9、 CURRENT_TIMESTAMP Function (Datetime)
返回当前本地系统时间戳信息。
语法:CURRENT_TIMESTAMP
举例:SELECT CURRENT_TIMESTAMP "current timestamp" FROM DUMMY;
10、CURRENT_UTCDATE Function (Datetime)
返回当前的UTC日期。
语法:CURRENT_UTCDATE
举例:SELECT CURRENT_UTCDATE "Coordinated Universal Date" FROM DUMMY;
11、CURRENT_UTCTIME Function (Datetime)
返回当前UTC时间。
语法:CURRENT_UTCTIME
举例:SELECT CURRENT_UTCTIME "Coordinated Universal Time" FROM DUMMY;
12、CURRENT_UTCTIMESTAMP Function (Datetime)
返回当前UTC时间戳。
语法:CURRENT_UTCTIMESTAMP
举例:SELECT CURRENT_UTCTIMESTAMP "Coordinated Universal Timestamp" FROM
DUMMY;
13、DAYNAME Function (Datetime)
返回指定日期的工作日。
语法:DAYNAME (
举例:SELECT DAYNAME ('2011-05-30') "dayname" FROM DUMMY;
14、DAYOFMONTH Function (Datetime)
返回指定日期的月份中的某一天。
语法:DAYOFMONTH (
举例:SELECT DAYOFMONTH ('2011-05-30') "dayofmonth" FROM DUMMY;
15、DAYOFYEAR Function (Datetime)
返回指定日期的年中某一天的整数表示形式。
语法:DAYOFYEAR (
举例:SELECT DAYOFYEAR ('2011-05-30') "dayofyear" FROM DUMMY;
16、DAYS_BETWEEN Function (Datetime)
计算d1和d2之间的天数。
语法:DAYS_BETWEEN (
举例:SELECT DAYS_BETWEEN (TO_DATE ('2009-12-05', 'YYYY-MM-DD'),
TO_DATE('2010-01-05', 'YYYY-MM-DD')) "days between" FROM DUMMY;
高品质SAP技术群:455101474 matinal
17、EXTRACT Function (Datetime)
查找并返回指定日期的指定datetime字段的值。
语法:EXTRACT ({YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} FROM
举例:SELECT EXTRACT (YEAR FROM TO_DATE ('2010-01-04', 'YYYY-MM-DD')) "extract"
FROM DUMMY;
18、HOUR Function (Datetime)
返回指定时间的小时的整数表示形式。
语法:HOUR (
举例:SELECT HOUR ('12:34:56') "hour" FROM DUMMY;
19、ISOWEEK Function (Datetime)
返回指定日期的ISO年份和周数。
语法:ISOWEEK (
举例:SELECT ISOWEEK (TO_DATE('2011-05-30', 'YYYY-MM-DD')) "isoweek" FROM DUMMY;
20、LAST_DAY Function (Datetime)
返回包含指定日期的月份的最后一天的日期。
语法:LAST_DAY (
举例:SELECT LAST_DAY (TO_DATE('2010-01-04', 'YYYY-MM-DD')) "last day" FROM DUMMY;
21、LOCALTOUTC Function (Datetime)
保存UTC和本地时间之间的转换时间的时间戳参数。
语法:LOCALTOUTC (
举例:SELECT LOCALTOUTC (TO_TIMESTAMP('2012-01-01 01:00:00', 'YYYY-MM-DD
HH24:MI:SS'), 'EST') "localtoutc" FROM DUMMY;
22、MINUTE Function (Datetime)
返回指定时间的分钟的整数表示。
语法:MINUTE (
举例:SELECT MINUTE ('12:34:56') "minute" FROM DUMMY;
23、MONTH Function (Datetime)
返回指定日期的月份数。
语法:MONTH(
举例:SELECT MONTH ('2011-05-30') "month" FROM DUMMY;
24、MONTHNAME Function (Datetime)
返回指定日期的月份名称。
语法:MONTHNAME(
举例:SELECT MONTHNAME ('2011-05-30') "monthname" FROM DUMMY;
25、MONTHS_BETWEEN Function (Datetime)
计算两个日期之间的月数。
语法:MONTHs_BETWEEN (
举例:SELECT MONTHS_BETWEEN(TO_DATE ('2003-01-01'), TO_DATE('2003-03-14'))
"months_between" FROM DUMMY;
26、NANO100_BETWEEN Function (Datetime)
计算两个日期之间的时间差。
语法:NANO100_BETWEEN (
举例:SELECT NANO100_BETWEEN ('2013-01-30', '2013-01-31') "nano100 between" FROM
DUMMY;
高品质SAP技术群:455101474 matinal
27、NEXT_DAY Function (Datetime)
返回指定日期后的第二天的日期。
语法:NEXT_DAY (
举例:SELECT NEXT_DAY (TO_DATE ('2009-12-31', 'YYYY-MM-DD')) "next day" FROM
DUMMY;
28、NOW Function (Datetime)
返回当前时间戳。
语法:NOW ()
举例:SELECT NOW () "now" FROM DUMMY;
29、QUARTER Function (Datetime)
语法:QUARTER (
举例:SELECT QUARTER (TO_DATE('2012-01-01', 'YYYY-MM-DD'), 2) "quarter" FROM
DUMMY;
30、SECOND Function (Datetime)
返回给定时间的秒的值。
语法:SECOND (
举例:SELECT SECOND ('2014-03-25 12:34:56.789') "subseconds" FROM DUMMY;
31、SECONDS_BETWEEN Function (Datetime)
计算两个指定日期之间的秒数。
语法:SECONDS_BETWEEN (
举例:SELECT SECONDS_BETWEEN ('2009-12-05', '2010-01-05') "seconds between" FROM
DUMMY;
32、UTCTOLOCAL Function (Datetime)
将UTC和本地时间之间的指定时间戳转换。
语法:UTCTOLOCAL (
举例:SELECT UTCTOLOCAL (TO_TIMESTAMP('2012-01-01 01:00:00', 'YYYY-MM-DD
HH24:MI:SS'), 'EST', 'sap') "utctolocal" FROM DUMMY;
33、WEEK Function (Datetime)
返回指定日期的星期编号。
语法:WEEK (
举例:SELECT WEEK (TO_DATE('2011-05-30', 'YYYY-MM-DD')) "week" FROM DUMMY;
34、WEEKDAY Function (Datetime)
返回指定日期的星期几。
语法:WEEKDAY (
举例:SELECT WEEKDAY (TO_DATE ('2010-12-31', 'YYYY-MM-DD')) "week day" FROM
DUMMY;
35、WORKDAYS_BETWEEN Function (Datetime)
计算指定开始日期和指定结束日期之间的工作日数。
语法:WORKDAYS_BETWEEN (
TFACS bitfield
0
1
1
2
Day of the month Reason for not working
Public Holiday
高品质SAP技术群:455101474 matinal
TFACS bitfield
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Day of the month
Weekend
Weekend
Reason for not working
Public Holiday
Weekend
Weekend
Weekend
Weekend
Weekend
Weekend
高品质SAP技术群:455101474 matinal
举例:SELECT WORKDAYS_BETWEEN('01', '2014-01-09', '2014-01-10' , 'FCTEST') "workdays"
FROM DUMMY;
36、YEAR Function (Datetime)
返回指定日期的年份。
语法:YEAR (
举例:SELECT YEAR (TO_DATE ('2011-05-30', 'YYYY-MM-DD')) "year" FROM DUMMY;
37、YEARS_BETWEEN Function (Datetime)
计算两个指定日期之间的年数。
语法:YEARS_BETWEEN (
举例:SELECT YEARS_BETWEEN(TO_DATE('2001-01-01'), TO_DATE('2003-03-14'))
"years_between" FROM DUMMY;
SELECT YEARS_BETWEEN(TO_DATE('2003-10-03'), TO_DATE('2001-01-14')) "years_between"
FROM DUMMY;
SELECT YEARS_BETWEEN(TO_DATE('2001-10-15'), TO_DATE('2003-01-14')) "years_between"
FROM DUMMY;
SELECT YEARS_BETWEEN(TO_DATE('2001-10-13'), TO_DATE('2003-01-14')) "years_between"
FROM DUMMY;


发布评论