小编Jus*_*ave的帖子

如何在Oracle中格式化和排序日期?

在我的应用程序中我正在尝试格式化和排序日期,我使用to_char()函数将日期格式化为我所需的格式,但是当我对它们进行排序时,它将它排序为字符串排序.但我希望它们按日期排序.

我需要一些帮助才能在同一个查询中实现这两个目标.请帮助我.

我使用的查询是,

SELECT to_char( t1.your_date_column1, your_format_mask ) as alias,
  FROM your_table1 t1,your_table2
 ORDER BY t1.your_date_column1
Run Code Online (Sandbox Code Playgroud)

oracle

11
推荐指数
1
解决办法
7万
查看次数

我可以在oracle express版上拥有多个数据库吗?

我可以在oracle express版上拥有多个数据库吗?请告诉我们设置的步骤是什么?

oracle oracle-xe

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

手动转发序列 - oracle sql

我需要转发一组只有DML访问的序列.由于一段代码中的错误,在没有序列的情况下抓取了几个值,而是手动抓取,所以现在序列正在复制这些值.所以,我想将序列推到最大值,以便下次调用nextval时,它会给出一个高于最大值的值.我有大约50个序列,每个序列都需要前进几千个.

只有DML访问才有可能吗?如果是这样,我应该怎么做呢?

sql oracle plsql sequence

9
推荐指数
2
解决办法
1万
查看次数

Oracle SQL:用于代替表名的变量

我正在将MSSQL脚本转换为Oracle,我无法弄清楚使用变量代替表名或列的语法.

这是一个简单的例子,我一直在尝试在Oracle SQL Developer中工作,所以我可以更好地理解语法:

 set serveroutput on format wrapped;
declare 
  VR_TABLE VARCHAR2(256);
  VR_UPDATE VARCHAR2(256);
begin
  VR_TABLE :='SYSTEM_STATUS';
  EXECUTE IMMEDIATE 'select UPDATE_VERSION INTO VR_UPDATE from ' || VR_TABLE || 'where rownum < 2 ;'
end;
Run Code Online (Sandbox Code Playgroud)

其中VR_TABLE是变量表名,它将在循环的每次迭代中被更改.有人可以指出我做错了什么,或者将我链接到一个对我有用的网站吗?我已经阅读了一些这方面的教程,但到目前为止我还没有运气.

sql oracle plsql

9
推荐指数
1
解决办法
3万
查看次数

相当于Oracle 9i中的PostgreSQL array()/ array_to_string()函数

我希望从Oracle中返回多行的查询返回带有逗号分隔值的单行,基本上将返回的行展平为单行.

在PostgreSQL中,这可以使用数组和array_to_string函数来实现,如下所示:

鉴于表"人":

id | name
---------
1  | bob
2  | alice
3  | jon
Run Code Online (Sandbox Code Playgroud)

SQL:

select array_to_string(array(select name from people), ',') as names;
Run Code Online (Sandbox Code Playgroud)

将返回:

names
-------------
bob,alice,jon
Run Code Online (Sandbox Code Playgroud)

如何在Oracle 9i中实现相同的结果?

谢谢,

马特

arrays oracle postgresql

8
推荐指数
1
解决办法
2万
查看次数

pl/sql函数调用了多少次?

假设您有以下更新:

Update table set col1 = func(col2)
where col1<>func(col2)
Run Code Online (Sandbox Code Playgroud)

FUNC函数为每个行计算两次,每行,或一次?

谢谢,

sql oracle plsql oracle9i

8
推荐指数
2
解决办法
3038
查看次数

数据库中的一对多关系 - 设计理念

应该用两个或三个表实现两个表之间的一对多关系?例如,我们应该:

author(id,otherAttributtes)
books(id,authorid,otherAttributes)
Run Code Online (Sandbox Code Playgroud)

要么

 author(id,otherAttributtes)
    books(id,otherAttributes)
    authorConnectsBooks(authorid,booksid)
Run Code Online (Sandbox Code Playgroud)

我更喜欢第一种方法,但我已经看过很多次第二种和更复杂的应用程序.第一种方法有任何缺点,或者只是个人的方式可以遵循?

database database-design

8
推荐指数
3
解决办法
2万
查看次数

Oracle PL/SQL阵列是从0还是从1开始索引?

我面前有一段这样的代码:

FOR row IN 1..l_RowSet(1).count 
LOOP
   l_a_variable := l_RowSet(1)(row);
END LOOP;
Run Code Online (Sandbox Code Playgroud)

l_RowSet是一种ApEx类型 - apex_plugin_util.t_column_value_list由此定义:

type t_column_value_list  is table of wwv_flow_global.vc_arr2 index by pls_integer;
Run Code Online (Sandbox Code Playgroud)

在哪里wwv_flow_global.vc_arr2定义为

type vc_arr2 is table of varchar2(32767) index by binary_integer;
Run Code Online (Sandbox Code Playgroud)

vc_arr2被传递回从我的代码apex_plugin_util.get_data功能.vc_arr2由号索引,而不是按行索引.

最好的我可以看出这意味着数据有效地存储在2D数组中,按列然后按行索引.

使用LOOP语句时,是从零还是从一个索引?因为在我看来我应该能够使LOOP多余,即:

l_a_variable := l_RowSet(1)(1);
Run Code Online (Sandbox Code Playgroud)

但我需要提前知道是否将0或1作为初始行.

我无法在Oracle文档中找到一个明确的答案(不出所料,"索引"是一个相当广泛使用的术语),并且通过SO查看也不会向任何其他人显示相同的问题.

oracle plsql oracle-apex

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

使用regexp_instr获取字符串中的最后一个数字

如果我使用下面的表达式,结果应为1.

regexp_instr('500 Oracle Parkway, Redwood Shores, CA','[[:digit:]]')
Run Code Online (Sandbox Code Playgroud)

有没有办法让这个查找字符串中的最后一个数字?如果我要查找上例中的最后一个数字,它应该返回3.

regex oracle oracle10g

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

Sql Insert语句返回"零/无行插入"

我正在编写一个INSERTStatement,在PL/SQL块中向表中插入一行.如果此插入失败或没有插入行,那么我需要回滚先前执行的更新语句.

我想知道在什么情况下INSERT语句可以插入0行.如果插入因某些异常而失败,我可以在异常块中处理它.是否存在INSERT可能成功运行但不会抛出异常的情况,我需要检查是否SQL%ROWCOUNT < 1

oracle plsql insert

7
推荐指数
1
解决办法
2万
查看次数