oracle数据库中 什么属性 才能排序

oracle数据库中 什么属性 才能排序,第1张

1 DBMS string 所使用的数据库管理系统的名字,如Sybase,Oracle,ODBC。

2 Database string 要连接的数据库名字。

3 UserID string 连接数据库所用的用户名。有的DBMS不需要此项。

4 DBPass string 用户连接数据库的口令。

5 Lock string 这是数据库的保护级别,一般不必给出。

6 LogID string 登录到数据库服务器上的用户名,有的DBMS不需要此项,但Sybase和Oracle需要指定这个参数。

7 LogPass string 登录到数据库服务器上的用户口令。这个属性可设可不设,但Sybase和Oracle需要指定口令。

8 ServerName string 数据库服务器名。

9 AutoCommit boolean 指定是否将数据库设置成自动提交所有事务。默认是False,也就是说,必须在应用程序中进行事务管理,并在适当的时候对数据库提交事务。如果选择True,则每个事务都由系统自动提交。

10 DBParm string 用于向数据库传递特殊信息的属性。

11 SQLCode long 指示最近一次SQL *** 作失败或成功。它的取值为: 返回结果 0 无错误。 -1 出现一个错误。 100 没有检索到数据。

12 SQLNRows long 最近一次SQL *** 作影响的行数,数据库不同其含义也不同。

13 SQLDBCode long 数据库错误代码。不同的数据库的含义不同。

14 SQLErrText string 相应于SQLDBCode属性中错误码的文字说明。

15 SQLReturnData string 返回DBMS执行SQL的附加信息,不同的DBMS其值不同。

有个偷懒的方法

假设每个分割的数字不超过4位数

写个函数在通过分割获得数字,然后将所有的数字均补齐为4位,前面加'0'

再排序就正常了

------------------------------------

是我做的一个测试表的结果,第一个字段是测试数据

涉及的函数如下:

CREATE OR REPLACE FUNCTION GETNUM(str IN VARCHAR2)

RETURN NUMBER

IS

num NUMBER :=0;

p   NUMBER;

i   NUMBER :=2;

BEGIN

p := NVL(length(regexp_replace(str,'[^]','')),0);

WHILE p>1 and i<=p loop

BEGIN

num := num + TO_NUMBER(substr(str,instr(str,'',1,i-1)+1,instr(str,'',1,i)-instr(str,'',1,i-1)-1))GETBL(i);

i := i+1;

END;

END LOOP;

IF p = 0 THEN

num := TO_NUMBER(str);

ELSE IF p=1 THEN

num := TO_NUMBER(substr(str,1,instr(str,'',1,1)))+TO_NUMBER(substr(str,instr(str,'',1,1)+1));

ELSE

num := num+TO_NUMBER(substr(str,1,instr(str,'',1,1)))+TO_NUMBER(substr(str,instr(str,'',1,p)+1))GETBL(p+1);

END IF;

END IF;

RETURN num;

END;

-------

CREATE OR REPLACE FUNCTION GETBL(p IN NUMBER)

RETURN NUMBER

IS

num NUMBER := 1;

i NUMBER := 1 ;

BEGIN

WHILE i < p LOOP

BEGIN

num := num0001;

i := i+1;

END;

END LOOP;

RETURN num;

END;

按照语义正确的方法,你应该先group by和order by分数,然后再搞点花招,就可以让分数相同的人使用一样的排名了。你不应该有任何业务逻辑使得相同分数的人顺序上有差别会造成影响。

你应该说的是row_number()over 、rank()over和dense_rank()over这三种分析函数吧。后面两个就是可以存在并列的情况。 写法是 row_number()over(partition byorder by score),其他两个也一样

以上就是关于oracle数据库中 什么属性 才能排序全部的内容,包括:oracle数据库中 什么属性 才能排序、oracle 数据库查询排序问题、oracle排序的几种方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9567927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存