摘自:http://www.cnblogs.com/ruanbl/archive/2008/02/29/1086398.html
EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval value expression.
The field you are extracting must be a field of the datetime_value_expr or interval_value_expr. For example, you can extract only YEAR, MONTH, and DAY from a DATE value. Likewise, you can extract TIMEZONE_HOUR and TIMEZONE_MINUTE only from the TIMESTAMP WITH TIME ZONE datatype.
eg.
SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return Current Year
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return Current Month
SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return Current Day
SELECT EXTRACT(HOUR FROM SYSDATE) FROM DUAL;Error
Correct:SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
SELECT EXTRACT(MINUTE FROM SYSDATE) FROM DUAL;Error
Correct:SELECT EXTRACT(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
以上是EXTRACT()函数的使用说明,英文部分有个很重要的部分.就是extract 抽取年月日部分和时分部分的使用方法是不同的.
EXTRACT(YEAR FROM SYSDATE)中FROM 的下一个参数是日期类型的时候可以抽取年月日.就是说这个参数是日期类型的时候就可以抽取年\月\日,而抽取不了时\分部分.抽取时分部分得在FROM 后面加带TIMESTAMP 且后面加时间字符.
这里要注意,在(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10')中,如果把'2005-10-10 10:10:10'用日期类型的字段来代替并转换成字符类型后,也是错误的,估计是这方法的问题.
比如(MINUTE FROM TIMESTAMP to_date(to_char(日期类型,'YYYY-MM-DD hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss')),这样执行不了的.
如果真要从日期类型的字段中抽取时\分部分用to_char() 函数就可以了.比如to_char(日期类型,'hh24:mi')
分享到:
相关推荐
在Oracle数据库中,`TO_DATE` 和 `TO_CHAR` 是两个非常重要的转换函数,它们用于在日期和字符串之间进行转换。这两个函数对于处理日期相关的数据至关重要,尤其在数据分析和报表生成时。 `TO_DATE` 函数是将字符...
Oracle数据库提供了丰富的日期处理函数,如`ADD_MONTHS`, `MONTHS_BETWEEN`, `NEXT_DAY`, `LAST_DAY`, `TRUNC`, `ROUND`, `EXTRACT`, `TO_CHAR`等,用于执行日期加减运算、计算两个日期之间的间隔、提取日期部分、...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的内置函数,以支持复杂的查询和数据操作。这份"oracle函数大全(分类显示).zip"压缩包显然是一份详细的Oracle函数参考手册,对于初学者而言,是一个...
4. **转换函数**:`TO_CHAR()`将数值转换为字符串,`TO_DATE()`将字符串转换为日期,`TO_NUMBER()`将字符串转换为数字。 5. **聚合函数**:如`COUNT()`计算记录数,`SUM()`求和,`AVG()`计算平均值,`MAX()`和`MIN...
### Oracle中实现datadiff函数 #### 背景与目的 在Oracle数据库中,并未直接提供`DATEDIFF`函数来计算两个日期之间的差异。这与SQL Server等其他数据库系统有所不同,在那些系统中,`DATEDIFF`是一个常用且非常...
Oracle 提供了两个重要的日期和字符转换函数:TO_DATE 和 TO_CHAR。TO_DATE 函数用于将字符串转换为日期类型,而 TO_CHAR 函数用于将日期类型转换为字符串。 例如,使用 TO_DATE 函数将字符串 '222' 转换为日期类型...
使用 EXTRACT 函数和 TO_CHAR 函数可以取出给定日期的年、月、日、时、分、秒。例如,要取出当前系统时间的年、月、日,可以使用以下 SQL 语句: ```sql SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; SELECT ...
在处理日期和时间数据时,Oracle提供了诸如`SYSDATE`, `ADD_MONTHS()`, `MONTHS_BETWEEN()`, `EXTRACT()`, `TO_DATE()`, `TO_CHAR()`等函数。`SYSDATE`返回当前系统日期,`ADD_MONTHS()`可以添加或减去指定月份数,`...
在Oracle中,`TO_DATE`和`TO_CHAR`是两个核心的日期转换函数,它们分别用于将字符串转换为日期和将日期转换为字符串。 1. `TO_DATE`函数: `TO_DATE`函数用于将一个字符串转换为日期格式。例如,`to_date('2007-11...
4. 转换函数:如TO_CHAR(字符串转换为日期或数字)、TO_DATE(日期转换为字符串)等,实现不同数据类型间的转换。 5. 条件函数:如IFNULL(如果为空则替换)、NVL(空值替换)、DECODE(根据条件返回值)等,处理...
`SYSDATE`返回当前系统日期和时间,`ADD_MONTHS`可以增加或减少指定月份,`EXTRACT`用于提取日期或时间的特定部分(如年、月、日、小时等),而`TO_DATE`和`TO_CHAR`则用于日期和字符串之间的转换。 **转换函数**...
Oracle提供了丰富的日期时间函数,如SYSDATE获取当前系统日期,ADD_MONTHS增加或减少月份,EXTRACT用于提取日期或时间元素,TO_CHAR和TO_DATE可以将日期转换为字符串或反之。DATEPART和DATEADD函数在处理日期和时间...
5. **转换函数**:`TO_CHAR`和`TO_DATE`用于字符串与日期之间的转换,`TO_NUMBER`将字符串转换为数值。 6. **系统信息函数**:如`DBA_OBJECTS`提供数据库对象信息,`USERENV`获取用户环境变量。 在学习和使用这些...
2. **TO_CHAR函数**:与TO_DATE相反,它将日期转换为字符串。例如,`TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS')`将当前系统日期和时间格式化为指定的字符串格式。 3. **求星期几**:可以使用`TO_CHAR`函数配合...
3. **日期型函数**:处理日期和时间数据时,Oracle提供了一系列的日期函数,如`SYSDATE`返回当前系统日期,`ADD_MONTHS`用于添加月份,`EXTRACT`可以提取日期中的年、月、日等部分,`TO_DATE`和`TO_CHAR`则用于日期...
Oracle提供了处理日期和时间的大量函数,如SYSDATE获取当前系统日期,ADD_MONTHS用于添加月份,EXTRACT用于提取日期或时间部分,TO_CHAR和TO_DATE用于日期和字符串之间的转换。 2. **数学与数值函数**: 包括ABS...
1. **内置函数**:这是Oracle提供的一些基本操作,如`NULL`检查(`IS NULL`或`IS NOT NULL`)和类型转换函数(`TO_CHAR`, `TO_DATE`, `TO_NUMBER`)。 2. **数学函数**:包括加减乘除(`+`, `-`, `*`, `/`)、幂...
本文将详细探讨Oracle中的时间函数,尤其是`to_date()`和`to_char()`这两个转换函数。 首先,`to_date()`函数用于将字符串转换为日期类型。这个函数需要两个参数:要转换的字符串和指定的日期格式模型。例如,`to_...
Oracle函数分为内置函数和自定义函数,内置函数如TO_DATE、TO_CHAR、SUBSTR、UPPER、LOWER等用于数据转换和字符串操作;数学函数如ABS、SQRT、MOD等用于数值计算;日期函数如SYSDATE、ADD_MONTHS、EXTRACT等用于处理...
Oracle数据库系统中,日期函数是进行时间数据处理的关键工具,对于数据库管理员和开发人员来说,理解和熟练使用这些函数至关重要。本篇文章将全面总结Oracle中的日期函数,帮助你解决日常工作中遇到的各种日期处理...