1.该函数返回当前的日期与时间,一般和dual伪表一起合作,
2.sysdate函数用于获取数据库所在的操作系统的当前时间值的.
我们可以使用NLS_DATE_FORMAT参数或者TO_CHAR函数来获得我们想要的SYSDATE日期格式,具体的格式代码如下:
Format Code Explanation
| YEAR | Year, spelled out |
| YYYY | 4-digit year |
| MM | Month (01-12; JAN = 01). |
| MON | Abbreviated name of month. |
| MONTH | Name of month, padded with blanks to length of 9 characters. |
| D | Day of week (1-7). |
| DAY | Name of day. |
| DD | Day of month (1-31). |
| DDD | Day of year (1-366). |
| DY | Abbreviated name of day. |
| HH | Hour of day (1-12). |
| HH12 | Hour of day (1-12). |
| HH24 | Hour of day (0-23). |
| MI | Minute (0-59). |
| SS | Second (0-59). |
| SSSSS | Seconds past midnight (0-86399). |
3.与sysdate不同,CURRENT_DATE()函数会返回数据库会话所设置的本地时区的当前日期.
4.设置nls_date_format的时间格式
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
另外请注意SYSDATE函数的类型并非是DATE类型,而是其特有的类型:
SQL> create table mytime(t1 date);
Table created.
SQL> insert into mytime values (sysdate);
1 row created.
SQL> commit;
Commit complete.
SQL> select dump(t1), dump(sysdate), dump( current_date) from mytime;
DUMP(T1)
--------------------------------------------------------------------------------
DUMP(SYSDATE)
--------------------------------------------------------------------------------
DUMP(CURRENT_DATE)
--------------------------------------------------------------------------------
Typ=12 Len=7: 120,111,8,24,21,31,59
Typ=13 Len=8: 219,7,8,24,20,32,12,0
Typ=13 Len=8: 219,7,8,24,20,32,12,0
以上可以看到sysdate和current_date都属于TYPE=13,而普通DATE类型为TYPE=12
数据类型type=12代表DATE Valid date range from January 1, 4712 BC to December 31, 9999 AD.

