oracle常用sql语句和函数
--查询表的字段数
select count(*) from user_tab_columns where table_name = '表名';
--查询数据库用户密码的profile(一般为default):
SELECT username,PROFILE FROM dba_users;--查看defult的时间:
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
--修改defult的时间:修改完,直接生效。不需要重启
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
--sql中使用递归 pid为父id
select t.*, level, connect_by_isleaf
from t_users t start with t.id='1' connect by prior t.id=t.pid;
level:层级
connect_by_isleaf: 是否为叶子
t.id=t.pid 向下递归, t.pid=t.id向上递归
--日期
select add_months(sysdate, -1) from dual; --月份操作 +、-
select substr('123456', 2, 3) from dual; --字符串截取 234
select trunc(sysdate, 'D')+7 from dual; --日期截取,年开始,月开始等,YYYY年, Q季度, MM月, D周,
SELECT LAST_DAY(sysdate) FROM DUAL; --当月最后一天,时分秒是日期中的时分秒
-- md5
1.创建方法
create or replace function md5utils(sargs in varchar2) return varchar2 is
resv varchar2(32)
begin resv := utl_raw.cast_to_raw(dbms_obfuscation_toolkit.MD5(input_string =》 sargs));
return lower(resv);
end;
2. 测试
select md5utils('123') from dual;
--条件判断 docode,case when
--decode
select decode('2', '2', 1, 0) from dual; -- 1 解释:'2',if=='2' then 1 else 0
--case when查询同一机构的签约数和解约数:
select t.sgn_acct_issr_id,
count(case when t.sgn_status = '01' then 1 else null end) 签约数,
count(case when t.sgn_status = '02' then 1 else null end) 解约数
from epcc_protocol_info t
group by t.sgn_acct_issr_id;
--case when查询当(trx_ctgy in ('0110','0111') and pyer_acct_tp in ('02','01') ) or (trx_ctgy in ('0121') and pyee_acct_tp in ('02','01'))不能用or的时候:
select * from epcc_accdel_000 twhere (case when t.trx_ctgy in ('0110','0111') and t.pyer_acct_tp in ('02','01') then 1
when t.trx_ctgy in ('0121') and t.pyee_acct_tp in ('02','01') then 1
else 0
end) = 1 ;
case when也有两种,
case qq when aa then aa else bb end ; --感觉这个和decode差不多
case when qq==aa then aa else bb end ;
oracle常用sql语句和函数的更多相关文章
- oracle常用SQL语句(汇总版)
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...
- oracle 常用sql语句
oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...
- Oracle常用SQL语句大全
常用Oracle数据库SQL语句汇总. 1.常用操作 --清空回收站purge recyclebin;--查询回收站select * from recyclebin--查询Oracle版本信息sele ...
- 四、oracle基本sql语句和函数详解
一.oracle常用数据类型 一. 数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构 ...
- Oracle常用sql语句(一)
# Sql的分类 # DDL (Data Definition Language):数据定义语言,用来定义数据库对象:库.表.列等: CREATE. ALTER.DROP DML(Data Manip ...
- Oracle 常用Sql 语句
Oracle数据库常常被用作项目开发的数据库之一:有时隔段时间没使用就会忘记一些常用的sql语法,所以我们有必要记录下常用的sql 语句,当我们需要时可以快速找到并运用. 1 创建表空间.创建用户及授 ...
- Oracle常用sql语句。
最近工作中遇到了一些与oracle相关的问题,稍微整理一些工作中用到的SQL语句 时间相关 --查询距当前时间十分钟内的数据 select sysdate -interval '10' minute ...
- Oracle常用sql语句(二)之组函数、多表查询
DML(数据操纵语言) INSERT .UPDATE. DELETE 插入操作:INSERT: 语法: INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...); 注 ...
- Oracle常用SQL语句
--2.查看表结构 desc wx_monitor_excption; --3.从表中查询数据 select * from wx_monitor_excption; --7.双引号保持原来的格式 se ...
随机推荐
- SCUT - 483 - 数轴上的点
https://scut.online/p/483 改了题目之后发现,其实n个点放在[1,2N],要求间距至少是2,那么有且只有一个点和前面点的间距是3(设-1存在一个点),其他点的间距都必须是2.排 ...
- 通过编写串口助手工具学习MFC过程——(三)Unicode字符集的宽字符和多字节字符转换
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- px-em-pt等字体的不同
- activemq热备与消息丢失
1. 解压 tar -zxvf apache-activemq-5.12.0-bin.tar.gz2. 改名 mv apache-activemq-5.12.0 activemq3. cd activ ...
- 说说 HeapSort 堆排序思想,以及个人优化方案。(老物)
听说你要排上亿个数据之 HeapSort ? 前言 : 来来来,今天我们来说说一个用来排大量数据所用的基础比较排序吧~ 注:阅读本文学习新技能的前置要求为:了解什么是二叉树及其数组性质,如果未达到要求 ...
- css秘密花园一
css秘密花园 1.透明边框 <style> div{ width: 120px; height: 60px; margin: 30px auto; background: pink; b ...
- mysql远程连接只显示部分数据库问题
项目变更了环境,数据库换了环境,所以用navicat连接数据库,结果只能看到部分数据库. 看下高级设置,就只有两个库. 表示很奇怪,难道我的ip被禁止了吗,进入服务器查看连接用户权限 1. 首先查看服 ...
- Python变量类型及变量
python是解释性语言 什么是解释性语言 就相当于你去饭店,你点了10道菜,他做好1道给你上1道.解释一行,执行一行.速度上不如编译性语言快. 什么是编译性语言 就相当于去饭店吃饭,你点了10道菜, ...
- Peakvue和自相关技术轴承诊断
什么是应力波 应力波产生于“金属与金属相互碰撞的事件” 加速度传感器捕捉含有具有短时特性应力波的轴承振动信号 应力波是一种非常短暂的连续的脉冲信号, 通常在百万分之一秒到千分之一秒的区间范围内, 它是 ...
- 10年前文章_fedora10root登录
fedora10系统root用户登录以及普通用户使用sudo命令1.问题:fedora10默认不能够直接用root用户登录解决方法:我们可以先以普通用户登录$su#vi /etc/pam.d/gdm删 ...