Oracle排序,伪列,字符函数,数字函数,日期行数

2024-03-09 22:32

本文主要是介绍Oracle排序,伪列,字符函数,数字函数,日期行数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一  ORACle的排序 

      排序语句: 

       SELECT [DISTINCT] * | [列名 [别名],…] 

         FROM 表名 

        WHERE 条件 

        ORDER BY 排序的列 [ASC | DESC],…; 

       select * from emp order by hiredate desc   ( desc表示降序 从大到小 asc 表示升序) 

       select * from emp where where job='MANAGER' order by  hiredate desc; (按条件查询出结果后排序) 

       select * from mep order by hiredate desc,sal desc (按条件一升序后 相同的条件一在进行条件二排序) 

二 Oracle的伪列 

      ROWID 是表中每一条记录的唯一标识符,数据库内部使用它来存储行的物理地址。 

       该地址可以唯一地标识数据库中的一行,可以使用 ROWID 伪列快速地定位表中的某一行。 

       无法使用update语句修改 

     ROWNUM 是SQL查询返回的结果集中每一行的行号。 

       可以用它来限制查询返回的行数。 

       ROWNUM是先查到结果集之后再加上去的一个列 。 

         在oracle中使用rownum来进行分页 

         select t.* ,rownum as rn from emp where rownum>=10 and rownum<=20这是错误的 

         因为行的循环查找 从索引1 开始  第一条记录的索引为1  不满足 循环第二条时 记录索引从1 开始 。。。。所以的行的行号都是1 永远不满足 

           select * from (select t.*,rownum as rn from emp t) where rn>=10 and rn<=20 这是正确的  (一般使用) 

                  分页另一种写法 

           select * from (select t.*,rownum as rn from emp t where rownum<=20) where rn>=10 正确的 

         select * from emp where rownum<=10 这是正确 

        记录:rownum大于1的记录永远不可能成立  rownum<等于任何值都成立 

三  oracle的单行函数 

      字符串函数 

      lower(n) 将字符转换成小写         

         select lower('AAAA') from dual;  --aaaa 

         select lower(ename) from emp;    --列输出结果全部小写 

      upper(n) 将字符串转换成大写 

      replace(列名,被替换的字符串,替换的字符串) 

          select ename,replace(job,'MANAGER','经理')  from emp; --job列中 所有的MANAGER都被替换成了经理 

          select replace('AAAtestgggg','test','测试') from dual; --AAA测试gggg 

      instr(列名,被搜索的字符串) 

          select instr('AAAtestgggg','test') from dual; --4 索引从1开始 

      substr(列名,开始位置,总长度) 

          select instr('AAAtestgggg',4,3) from dual; --tes 


      concat(参数1,参数2) 

          select concat('a','b') from dual;  --- ab  等价于 'a'||'b'   

      length(列名) 获取字符的长度 

      trim(列名) 去空格  

          ltrim 去左侧的空格 

          rtrim 去右侧的空格 
 
         nvl(列名,值) 当列的值为空时 输入第二参数的值 如果不为空 输出当前列的值 

         nvl2(列名,值1,值2) 当列的值为空时 输出第二个参数的值 如果不为空输出第三个参数的值 

         decode(列名,条件1,值1,条件2,值2......,条件n,值n) 当列的值等于条件n时输出值n 

    数字函数            

      mod(5,2) 取余数 等价于java 5%2 

      round(n) 对整数位进行四舍五入 满5进1 

      round(n,p) 对小数位进行四舍五入 比如 round(5.6767,2) 输出为5.68 

      trunc(n) 截断小数位 只保留整数位 

     trunc(n,p) 截断小数位意外的位数 比如 trunc(5.666,2) 输出为5.66 就是保留p位小数 


    日期函数            

      sysdate 获取系统的当前时间  

      add_months(日期,月数) 将日期加上月数 并返回  比如 (sysdate=2016-3-3)+5个月 =2016-8-3 

      select sysdate+天数 from dual 将当前日期加上某个数字 表示+天数 

      months_between(日期1,日期2)  比较日期1和日期2的相差的月份数  结果=日期1-日期2 

      last_day(日期) 返回日期对应月份的最后一天 

      round(日期,格式) 

            YEAR 获取当年的第一天 

            MONTH 获取当月的第一天 

            DAY 获取 第一个周末的第一天 

      next_day(日期,第几天) 获取当前日期下一个星期的第几天 
 


             
 


 


   




 

这篇关于Oracle排序,伪列,字符函数,数字函数,日期行数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/792153

相关文章

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

springboot日期格式化全局LocalDateTime详解

《springboot日期格式化全局LocalDateTime详解》文章主要分析了SpringBoot中ObjectMapper对象的序列化和反序列化过程,并具体探讨了日期格式化问题,通过分析Spri... 目录分析ObjectMapper与jsonSerializer结论自定义日期格式(全局)扩展利用配置

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp