小编And*_*Dan的帖子

记录之间的时间差异

我有一个表(其中包括)时间戳列(名为timestamp;它是标准的Oracle DATE数据类型).记录大约相隔4-11分钟,每小时大约7或8条记录,我正在尝试确定它们是否有任何模式.

是否有一种简单的方法可以查看每条记录,以及记录在上一条记录之后发生的分钟数?

谢谢,AndyDan

sql oracle date-arithmetic

5
推荐指数
1
解决办法
9088
查看次数

TOO_MANY_ROWS 引发,但变量仍然获得一个值

我刚刚发现,如果您有一个引发 TOO_MANY_ROWS 异常的 SELECT INTO,该变量仍会从查询检索到的第一条记录中分配值。这是预期的行为吗?

这是我的例子:

for co in my_cursor loop
        l_sco_db_id := null;

    begin
      select db_id
        into l_sco_db_id
        from objects_tab
       where object_name  = co.object_name;

    exception
      when no_data_found then
        dbms_output.put_line('No objects_tab record found for Object ' || co.object_name);
      when too_many_rows then
        dbms_output.put_line('Multiple objects_tab records found for Object ' || co.object_name);
        l_sco_db_id := null;
    end;
end loop;
Run Code Online (Sandbox Code Playgroud)

这是在一个循环内,所以我在开始时将变量设置为 null 以确保它是空白的,但是我不得不在 WHEN TOO_MANY_ROWS 异常中再次明确地这样做,这是我没想到的。我的同事(至少,那些直接听到的)也没有期望这个变量有一个值。

oracle plsql oracle11g

5
推荐指数
1
解决办法
9652
查看次数

在查询中两次使用相同的表别名

我的同事是ANSI连接语法的新手,最近写了一个查询,如下所示:

SELECT count(*)
  FROM table1 t1
       JOIN table2 t2 ON
            (t1.col_a = t2.col_a)
       JOIN table3 t3 ON
            (t2.col_b = t3.col_b)
       JOIN table3 t3 ON
             (t3.col_c = t1.col_c);
Run Code Online (Sandbox Code Playgroud)

请注意,table3在不同的列上同时连接到table1和table2,但是两个JOIN子句为table3使用相同的表别名。

查询运行,但是我不确定它的有效性。 这是编写此查询的有效方法吗?

我认为联接应该是这样的:

SELECT count(*)
  FROM table1 t1
       JOIN table2 t2 ON
            (t1.col_a = t2.col_a)
       JOIN table3 t3 ON
            (t2.col_b = t3.col_b AND
             t3.col_c = t1.col_c);
Run Code Online (Sandbox Code Playgroud)

两个版本在功能上是否相同? 我不确定数据库中是否真的有足够的数据。

谢谢。

sql oracle ansi

5
推荐指数
1
解决办法
2395
查看次数

Oracle中的DATE函数

我最近遇到了这样的示例代码:

select TO_CHAR(DATE '2012-3-1', 'Day Month Year') from dual;
Run Code Online (Sandbox Code Playgroud)

我理解TO_CHAR,但我以前从未见过使用DATE,也找不到与之相关的文档.有人可以解释它是如何工作的,和/或提供一些文档的链接?

谢谢,丹

oracle date function

1
推荐指数
1
解决办法
528
查看次数

标签 统计

oracle ×4

sql ×2

ansi ×1

date ×1

date-arithmetic ×1

function ×1

oracle11g ×1

plsql ×1