`
漂流瓶子blog
  • 浏览: 18986 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle datediff 求日期、周、月函数

阅读更多
create or replace function datediff(type in varchar2, startTime in varchar2,endTime in varchar2,v in varchar2) return number  as
       v_result number;
       sql_1 varchar2(200);
begin
       dbms_output.put_line('1');
       if(type = 'day') then
           sql_1 := 'select '||v||'(TO_NUMBER(to_date('''||startTime||''',''YYYY-MM-DD'') - to_date('''||endTime||''',''YYYY-MM-DD''))) from dual';
           dbms_output.put_line('1');
       elsif(type = 'month') then
           sql_1 := 'select '||v||'(months_between(to_date('''||startTime||''',''YYYY-MM-DD'') - to_date('''||endTime||''',''YYYY-MM-DD''))) from dual' ;
           dbms_output.put_line('1');
       elsif(type = 'week') then
           dbms_output.put_line('1');
           sql_1 := 'select '||v||'(TO_NUMBER(to_date('''||startTime||''',''YYYY-MM-DD'') - to_date('''||endTime||''',''YYYY-MM-DD''))/7) from dual ';
       end if;
       dbms_output.put_line(sql_1);
       EXECUTE IMMEDIATE sql_1  into v_result ;
       return (v_result);
end;












--先执行以上函数,这样就在Oracle自己写了一个该函数;
使用时候可以这样:
 select datediff('week','2012-09-01','2012-08-01','round') from dual ;
--说明'week'表示周,'month'表示月,'day'表示天
--中间传俩日期
--第四个参数:周或月四舍五入用‘round’ ,向上取整用‘ceil’ 向下取整用‘floor’
分享到:
评论

相关推荐

    Oracle datediff函数

    在Oracle数据库系统中,...总之,虽然Oracle没有内置的`DATEDIFF`函数,但通过上述方法,我们可以轻松地计算两个日期之间的差异。这显示了Oracle数据库系统的灵活性和强大功能,使其能够适应各种不同的需求和工作场景。

    Oracle中实现datadiff函数

    在Oracle数据库中,并未直接提供`DATEDIFF`函数来计算两个日期之间的差异。这与SQL Server等其他数据库系统有所不同,在那些系统中,`DATEDIFF`是一个常用且非常实用的功能。然而,在Oracle中我们可以通过自定义函数...

    oracle与sqlserver日期函数对比.pdf

    2. **计算日期差**: Oracle 的 `MONTHS_BETWEEN` 函数计算两个日期之间的月份数,而 SQL Server 则使用 `DATEDIFF` 函数,例如 `DATEDIFF(month, '2004-09-01', '2004-09-18')` 计算日期间隔。 3. **获取当前日期和...

    oracle与sqlserver日期函数对比.docx

    Oracle 和 SQL Server 都是广泛使用的数据库管理系统,它们在处理日期和时间数据时提供了丰富的内置函数。下面是对这两个系统中日期函数的详细比较: 1. **日期相加/减**: - Oracle 使用 `ADD_MONTHS(date, ...

    Oracle常用函数及实例.pdf

    此外,Oracle还有日期时间函数,如SYSDATE获取当前系统日期,TO_DATE将字符串转换为日期格式,以及DATEADD和DATEDIFF等用于日期运算的函数。转换函数如TO_CHAR和TO_NUMBER分别用于将日期或数值转换为字符串和将字符...

    delphi、 sql 日期时间函数

    2. `DATEDIFF()`: 计算两个日期之间的差值,可按天、周、月等单位计算。 3. `CONVERT()`: 将日期时间值转换为字符串,或者将字符串转换为日期时间值,支持多种日期格式。 4. `GETDATE()`: 返回当前系统日期和时间。 ...

    ORACLE与SQLSERVER函数异同比较

    - **日期间隔**: Oracle中使用`MONTHS_BETWEEN`函数计算两个日期之间的间隔,在SQL Server中使用`DATEDIFF`函数。 - **当前日期时间**: Oracle中的`SYSDATE`函数与SQL Server中的`GETDATE()`函数相对应。 - **月份...

    数据库oracle中日期处理

    要找出两个日期之间的天数,可以使用`DATEDIFF(day, date1, date2)`,但在Oracle中,可以使用`NUMTODSINTERVAL(date2-date1, 'DAY')`。 9. **日期比较**: 可以使用`, `>=`, `, `>`, `=`, `!=`等比较运算符对日期...

    SYBASE iq与ORACLE使用分析函数计算同期值及常用计算函数使用

    SYBASE iq中提供了多种日期函数,例如:Getdate()、Datename()、Datepart()、Datediff()和Dateadd()等 11. ISNULL 函数 SYBASE iq中可以使用ISNULL函数来代替查询栏或合计中的空值,例如:Select avg(isnull(total...

    SQLServer和Oracle的常用函数

    - 两个数据库都有`DATEADD()`和`DATEDIFF()`函数,但参数和用法略有不同。 3. **数学函数** - 两个系统都提供了基本的数学函数如`ABS()`, `SQRT()`, `PI()`等。 - SQL Server的`RAND()`生成随机数,Oracle对应...

    SQL Server与Oracle常用函数对比

    - SQL Server的`DATEADD()`和`DATEDIFF()`在Oracle中分别对应`ADD_MONTHS()`、`NUMTODSINTERVAL()`或`DATEDIFF()`(但Oracle的DATEDIFF不直接返回整数,而是相差的时间间隔)。 3. **数学和数值函数**: - 两系统...

    sqlserver与oracle函数的对比

    - SQL Server 中,`GETDATE` 获取当前日期和时间,`DATEADD` 和 `DATEDIFF` 分别用于添加或减去日期部分,Oracle 对应的分别是 `SYSDATE`、`ADD_MONTHS` 和 `NUMTOYMINTERVAL` 或 `NUMTODSINTERVAL`。 - 在提取...

    SQL Server和Oracle的常用函数对比.rar

    - 对于日期操作,SQL Server有`DATEADD()`和`DATEDIFF()`, Oracle则使用`ADD_MONTHS()`, `EXTRACT()`, 和 `NEXT_DAY()`等函数。 4. **转换函数**: - `CAST()`和`CONVERT()`在SQL Server中用于类型转换,Oracle...

    SQLServer和Oracle常用函数对比

    在数据库管理领域,SQL Server和Oracle都是广泛应用的关系型数据库系统,它们都提供了丰富的函数来处理数据。本篇文章将深入探讨SQL Server与Oracle中常用函数的对比,帮助读者更好地理解和运用这两种数据库。 一、...

    SqlServer,Oracle数据类型,函数,导入导出对照

    - **DATEADD**、**DATEDIFF**、**GETDATE**、**LAST_DAY**、**NEXT_DAY**、**DATENAME**、**DATEPART**、**CONVERT**:这些函数用于处理日期时间数据,在SQL Server中更为丰富。 #### 转换函数 - **TO_CHAR**、**TO...

    Oracle与Sql-Server函数对照.docx

    ### Oracle与SQL Server函数对照详解 #### 一、概述 本文档旨在对比并解析Oracle数据库与Microsoft SQL Server数据库中常用函数的区别与等效性。两者虽然都是关系型数据库管理系统(RDBMS)的重要组成部分,但在...

Global site tag (gtag.js) - Google Analytics