Oracle / PLSQL写语句 常用的几个函数

下面开始记录一下,自己在Oracle或者PLSQL常用的几个函数,

1add_months 增加或减去月份
2. last_day(sysdate) 返回日期的最后一天
3. months_between (date2,date1) 给出date2-date1的月份
4. new_time (date,‘this‘,‘that‘) 给出在this时区=other时区的日期和时间
5. next_day (date,‘day‘) 给出日期date和星期x之后计算下一个星期的日期
6. sysdate 用来得到系统的当前日期
7. hextoraw 将一个十六进制构成的字符串转换为二进制
8. rawtohext 将一个二进制构成的字符串转换为十六进
9. rowidtochar 将ROWID数据类型转换为字符类型
10.avg(DISTINCT|ALL) all表示对所有的值求平均值,distinct只对不同的值求平均值
11.max(DISTINCT|ALL) 求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次
12.min(DISTINCT|ALL) 求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次
13. stddev (distinct|all) 求标准差,DISTINCT表示只对不同的值求标准差
14. variance (DISTINCT|ALL) 求协方差
15. group by主要用来对一组数进行统计
16. having 对分组统计再加限制条件
17.ORDER BY 用于对查询到的结果进行排序输出

1、NUMTODSINTERVAL( number, expression )参数说明: number:数字类型的值 expression:单位,这里的单位是固定的,有DAY,HOUR,MINUTE,SECOND

1

2

3

4

5

6

7

8

举例说明:

-- 当前日期加25

select sysdate, sysdate + numtodsinterval(25‘day‘) as res from dual;

-- 当前日期加2小时,这里转换了下时间格式,更容易看出来,下图所示

select to_char(sysdate, ‘yyyy-MM-dd hh24:mi:ss‘), to_char(sysdate + numtodsinterval(2‘hour‘), ‘yyyy-MM-dd hh24:mi:ss‘) as res from dual;

-- 当前日期加分钟,秒,可以依葫芦画瓢,尝试写一下

显示效果如下图所示:

与此同时,和他相同的函数是下面的函数

2、NUMTOYMINTERVAL( number, expression )
参数说明:
number:数字类型的值
expression:单位,这里的单位是固定的,有MONTH,YEAR

1

2

3

4

5

6

举例说明:

-- 当前日期加2

select sysdate, sysdate + numtoyminterval(2‘month‘) as res from dual;

-- 当前日期加2

select sysdate, sysdate + numtoyminterval(2‘year‘) as res from dual;

显示效果如下图所示:

时间: 2024-10-13 06:35:36

Oracle / PLSQL写语句 常用的几个函数的相关文章

Oracle / PLSQL写语句的时候常使用的函数

最近在学习数据库方面的知识,做个标记. 这里有英文解释,建议多看看英文文档: https://www.techonthenet.com/oracle/functions/ 下面开始记录一下,自己在Oracle或者PLSQL常用的几个函数, 1.NUMTODSINTERVAL( number, expression )参数说明: number:数字类型的值 expression:单位,这里的单位是固定的,有DAY,HOUR,MINUTE,SECOND 举例说明: -- 当前日期加25天 selec

Oracle之sql语句优化

项目中虽然使用了orm映射,但Oracle系统的优化还是很有价值的,这里从sql语句的角度对常用的语句做下总结. 1.from字段中的优化: Oracle安照从右到左的顺序加载表数据,应该把可以排除数据最多的表放到后面(基础表). 比如,在关联查询中,把课程表放到后面,成绩表放到前面,因为课程表数据一般比较少,关联的时候可以快速的过滤掉一些成绩数据. 2.where中的优化: 对可以过滤数据最多的,放到后面,原理也是Oracle执行从下到上(从右到左)的顺序. 3.使用列名替代*: 省去从字典表

SQL语句常用大全

一.基础 1.说明:创建数据库?CREATE DATABASE database-name? 2.说明:删除数据库?drop database dbname? 3.说明:备份sql server? --- 创建 备份数据的 device? USE master?EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' ?--- 开始 备份?BACKUP DATABASE pubs TO testBack ?4

Oracle 查询(SELECT)语句(二)

?  简介 在前面的 Oracle 查询 SELECT 语句(一) 中介绍了 SELECT 常用的一些基本查询语法,接下来再来看 SELECT 更深入的一些查询功能和技巧,包括以下内容: 1.   All 与 Any 运算符 2.   分页查询(rownum) 3.   集合操作符(UNION.UNION ALL.INTERSECT.MINUS) 1.   All 与 Any 运算符 1)   All 运算符,表示满足给出列表中的所有值.通常用于以下场景: 1.   查出大于30号部门所有员工最

Oracle 如何写出高效的 SQL

转自:Oracle 如何写出高效的 SQL 要想写出高效的SQL 语句需要掌握一些基本原则,如果你违反了这些原则,一般情况下SQL 的性能将会很差. 1. 减少数据库访问次数连接数据库是非常耗时的,虽然应用程序会采用连接池技术,但与数据库交互依然很耗时,这就要求我们尽量用一条语句干完所有的事,尤其要避免把SQL 语句写在循环中,如果你遇到这样的人,应该毫不犹豫给他两个耳光. 2. 避免在有索引的字段上使用函数在索引字段上使用函数会使索引失效,我们可以通过其他方式避免使用函数,如:尽量 避免在 S

Oracle分页查询语句的写法(转)

分页查询是我们在使用数据库系统时经常要使用到的,下文对Oracle数据库系统中的分页查询语句作了详细的介绍,供您参考. Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.Oracle分分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHER

Oracle 动态SQL语句

Oracle 动态SQL语句 (2012-06-18 16:36:12) 转载▼ 标签: oracle it   EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQLpackage包. 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTEIMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTEIMMEDIATE,因为它获的收益在包

Oracle SQL*plus常用的命令和函数

Oracle中常用的命令和函数,做个整理,以备以后用到,方便查阅. 常用命令: 连接sqlplus命令行下运行cmd进入,如以sys模式登陆,命令如下:(1).sqlplus "sys/zhb126 as sysdba" (2).sqlplus/nolog  connect sys/zhb126 as sysdba (3).sqlplus scott/tiger 启动数据库实例 startup --启动数据库的同时启动控制文件.数据文件 startup mount --启动数据库的同时

PowerDesigner使用Oracle建库语句中""双引号的问题

这几天使用powerdesigner建库,general database导出的sql建表语句带有""双引号,结果导致我的库中表名都是小写的,但是Oracle查询等语句默认都是大写判断的,因此很是不方 便,以前使用pd没发现这个问题,可能是版本升级导致的,查了一下,原来需要Pd再设置一下:两种方式1.pd Edit Current DBMS-ORACLE9i2::Script\Sql\Format\CaseSensitivityUsingQuote将双引号的设置改为NO 2.变通方法就