美文网首页
Oracle常用语句

Oracle常用语句

作者: 冬季男孩 | 来源:发表于2020-10-26 09:52 被阅读0次

剔重语句

select * from( select *, row_number() over 
(partition by 要剔重的字段 order by * desc) rank
from 表) a where a.rank =1

将多行数据进行合并

select province, listagg(to_char(city_name),',') 
within group (order by city_name) as city from 
(select city_code, city_name, province from ncaowii.i_city order by city_code) 
group by province

将合并行字段分开(正则表达式)

select regexp_substr(a.LPBAKNAM, '[^-]+', 1, Level,'i') bankname,LPISSDTE
from (select LPISSDTE,LPBAKNAM from ncaowii.i_cladlps) a
connect by Level <= LENGTH(a.LPBAKNAM) - LENGTH(REGEXP_REPLACE(a.LPBAKNAM, '-', '')) + 1

数学函数:

绝对值:abs()

select abs(-2) value from dual;   ##输出 --(2) 

取整函数(大):ceil()

select ceil(-2.001) value from dual;    ##输出 --(-2)

取整函数(小):floor()

select floor(-2.001) value from dual;    ##输出--(-3)

取整函数(截取):trunc()

select trunc(-2.001) value from dual;  ##输出(-2)

四舍五入:round()

select round(1.234564,4) value from dual;   ##输出(1.2346)

取平方:Power(m,n)

select power(4,2) value from dual;  ##输出(16)

取平方根:SQRT()

select sqrt(16) value from dual;  ##输出(4)

取随机数:dbms_random(minvalue,maxvalue)

select dbms_random.value() from dual;  (默认是0到1之间)
select dbms_random.value(2,4) value from dual;  (2-4之间随机数)

取符号:Sign()

select sign(-3) value from dual; ##输出(-1)
select sign(3) value from dual; ##输出(1)

取集合的最大值:greatest(value)

select greatest(-1,3,5,7,9) value from dual; ##输出(9)

取集合的最小值:least(value)

select least(-1,3,5,7,9) value from dual;  ##输出(-1)
select  nvl(null,10) value from dual;  ###输出(10)
select nvl(score,10) score from student

PL/SQL

Test Window举例:

DECLARE
  v_co ncaowii.i_posintf.co%TYPE; ##使用原数据类型
  v_polno ncaowii.i_posintf.polno%TYPE; ##使用原数据类型
BEGIN
  select co,polno into v_co, v_polno
  from ncaowii.i_posintf where polno = 'A100060885';
  DBMS_OUTPUT.PUT_LINE(v_co||'的polno编号是:'||v_polno);  ##输出类型
END;
DECLARE
  v_co ncaowii.i_posintf%ROWTYPE; ##使用原数据列名
BEGIN
  select * into v_co
  from ncaowii.i_posintf where polno = 'A100060885';
  DBMS_OUTPUT.PUT_LINE(v_co.co||'的polno编号是:'||v_co.polno);
END;

可执行四则运算:加(+)减(-)乘()除(/)乘方(**)

dual的使用:

with temp as(
select ‘数据1’ 列名1,‘数据1’ 列名1,‘90’ 平均分 from dual union all

相关文章

  • oracle之创建用户、表空间,用户授权及指定表空间

    参考链接 Oracle建立表空间和用户oracle创建删除表空间、用户、数据导入导出等常用sql语句 oracle...

  • Oracle 常用sql语句

    其他 1.Oracle 查询表字段和注释 可以用来拼接sql语句,或者拼接生成 java 实体类 2.Oracle...

  • Oracle 常用sql语句

    Oracle

  • 常用oracle SQL语句

    1.建表(复制表结构) 2.复制数据到另一个表(跨数据库test复制) 3.删除表中数据 4.删除表 5.显示当前...

  • Oracle常用DDL语句

    DDL - data definition language,数据定义语言,主要的命令有create,alter,...

  • oracle常用SQL语句

    获取表 获取表字段 剩余表空间百分比 检查依赖 检查被锁定的表 计算表占用空间的大小 查看数据库是否为CDB 查看...

  • oracle常用sql语句

    oracle数据库相关学习 标签(空格分隔): 数据库 [toc] 1. 查询oracle版本号 2. 数据库备份...

  • Oracle高级语句书目录

    Oracle高级语句之with as Oracle高级语句之merge into Oracle高级语句之row_n...

  • oracle常用语句

    sqlplus连接远程数据库:简易连接,不用进行网络配置,其实就是tnsname.ora文件,但只支持oracle...

  • Oracle常用语句

    一、数据库初始化分为5步 *第1步:创建临时表空间 * 第2步:创建数据表空间 第3步:创建索引表空间 第4步:...

网友评论

      本文标题:Oracle常用语句

      本文链接:https://www.haomeiwen.com/subject/sbpvmktx.html