oracle正数变复数,sql – 在Oracle序列中生成相同的正数和负数
这似乎是一个奇怪的序列要求,但如果你真的想要那么你可以这样做:create sequence weird_seqstart with 2increment by 4maxvalue 2minvalue -2cyclenocache;select weird_seq.nextval from dualconnect by level <= 10;NEXTVAL----------2-22-22
这似乎是一个奇怪的序列要求,但如果你真的想要那么你可以这样做:
create sequence weird_seq
start with 2
increment by 4
maxvalue 2
minvalue -2
cycle
nocache;
select weird_seq.nextval from dual
connect by level <= 10;
NEXTVAL
----------
2
-2
2
-2
2
-2
2
-2
2
-2
增量4是从步数-2到2.最大值2是下一个调用周期循环到minval -2.它需要以/ -2开头. nocache是不幸的但是必要的,否则你会得到“ORA-04013:CACHE的数字必须小于一个周期”.
如果您只是将这些数字用作查询的一部分,那么您可以使用分层查询来代替:
select 2 * (2 * mod(level, 2) - 1)
from dual
connect by level <= 10;
2*(2*MOD(LEVEL,2)-1)
--------------------
2
-2
2
-2
2
-2
2
-2
2
-2
但是然后多次运行总是从2开始,这可能不是你想要的. (取决于它将如何使用……)
您可能还可以使用分析查询从现有数据中动态生成数字,但同样,它取决于您将使用此数据.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)