Oracle 日期函数练习 Oracle 日期函数是 Oracle 数据库中的一组功能强大且广泛使用的函数,它们可以对日期进行各种操作和计算,本次练习涵盖了 Oracle 中常用的日期函数,包括获取当前系统时间、对日期的月进行加减、获取给定日期所在月的最后一天的日期、计算给定两个日期相隔的月数、计算给定日期后的第一个工作日、取出给定日期的年、月、日、时、分、秒等。 1. 获取当前系统时间 使用 SYSDATE 函数可以获取当前系统时间,SQL 语句为: ```sql SELECT SYSDATE FROM DUAL; ``` 执行该语句将返回当前系统时间,例如:06-8 月 -14。 2. 对日期的月进行加减 使用 ADD_MONTHS 函数可以对日期的月进行加减,该函数的语法为: ```sql ADD_MONTHS(date, integer) ``` 其中,date 是要操作的日期,integer 是要加减的月数。例如,要将当前系统时间加 2 个月,可以使用以下 SQL 语句: ```sql SELECT ADD_MONTHS(SYSDATE, 2) FROM DUAL; ``` 执行该语句将返回当前系统时间加 2 个月的日期,例如:06-10 月 -14。 3. 获取给定日期所在月的最后一天的日期 使用 LAST_DAY 函数可以获取给定日期所在月的最后一天的日期,SQL 语句为: ```sql SELECT LAST_DAY(SYSDATE) FROM DUAL; ``` 执行该语句将返回当前系统时间所在月的最后一天的日期,例如:31-8 月 -14。 4. 计算给定两个日期相隔的月数 使用 MONTHS_BETWEEN 函数可以计算给定两个日期相隔的月数,该函数的语法为: ```sql MONTHS_BETWEEN(date1, date2) ``` 其中,date1 和 date2 是要比较的两个日期。例如,要计算当前系统时间与 2014 年 10 月 6 日之间的月数,可以使用以下 SQL 语句: ```sql SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('20141006', 'yyyymmdd')) FROM DUAL; ``` 执行该语句将返回当前系统时间与 2014 年 10 月 6 日之间的月数,例如:-2。 5. 计算给定日期后的第一个工作日 使用 NEXT_DAY 函数可以计算给定日期后的第一个工作日,SQL 语句为: ```sql SELECT NEXT_DAY(SYSDATE, 1) FROM DUAL; ``` 执行该语句将返回当前系统时间后的第一个工作日,例如:10-8 月 -14。 6. 取出给定日期的年、月、日、时、分、秒 使用 EXTRACT 函数和 TO_CHAR 函数可以取出给定日期的年、月、日、时、分、秒。例如,要取出当前系统时间的年、月、日,可以使用以下 SQL 语句: ```sql SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; ``` 执行该语句将返回当前系统时间的年、月、日,例如:2014、8、6。 要取出当前系统时间的时、分、秒,可以使用以下 SQL 语句: ```sql SELECT TO_CHAR(SYSDATE, 'hh24') AS hours FROM DUAL; SELECT TO_CHAR(SYSDATE, 'mi') AS minutes FROM DUAL; SELECT TO_CHAR(SYSDATE, 'ss') AS seconds FROM DUAL; ``` 执行该语句将返回当前系统时间的时、分、秒,例如:08、54、10。 Oracle 日期函数提供了丰富的日期操作和计算功能,通过这些函数,可以轻松地对日期进行各种操作和计算,以满足不同的业务需求。









