Oracle语句(持续更新)
在实际场景中会碰到各种数据库的使用,这里记录一下sql语言,这里我的数据库是oracle
1.case…when…then…end
疫情下有跟健康码相关的接口,但是存入数据库中的是code,查询的时候需要翻译成实际信息,所以用到了case…when,类swich,但是使用起来还是有些注意事项。
- case相当于一个字段,所以紧跟在select后面,用逗号隔开
- 为空时的表示用is null,而不是等于null
- as后表示的是自定义的列名
SELECTa.ID,a.NAME,a.CARD_NUMBER,a.CREATE_TIME,a.VACCINE_ARCHIVES,(CASEWHEN a.hc = '0' THEN'绿码' WHEN a.hc= '1' THEN'黄码' WHEN a.hc= '2' THEN'红码' ELSE '异常' END ) AS hc,(CASEWHEN a.peas= '0' THEN'去过' WHEN a.peas= '1' THEN'未去过' WHEN a.peas= '2' THEN'信息不全' ELSE '异常' END ) AS peas,(CASEWHEN a.pecs= '0' THEN'去过' WHEN a.pecs= '1' THEN'未去过' WHEN a.pecs= '2' THEN'信息不全' ELSE '异常' END ) AS pecs,( CASE WHEN a.nat IS NULL THEN '暂无记录' ELSE TO_CHAR( nat ) END ) AS nat,( CASE WHEN a.nar IS NULL THEN '暂无记录' ELSE TO_CHAR( nar ) END ) AS nar FROMHEALTHY a
2.decode和Sign
这个函数是oracle的特有语法,对标case when,相对来说语法更加简洁。
DECODE(表达式,condition1,res1,condition2,res2):条件和结果根据自己需求可以不断增加,表达式=condition1的时候,结果为rest1;为condition2的时候,结果为rest2,以此类推。
还可以和Sign联合使用,SIGN(表达式),若表达式为正数返回1,负数返回-1,为0就返回0.
selectcount(*),SUM( DECODE( Result, '未登记', 0, 1 ) ) sumRes
from sys_user
3.start with…connect by prior…
查询树形结构的时候的一种使用,比如A公司有个a部门,里面包含了aa、ab、ac等子部门,我现在要根据他们的父部门来查询所有子部门。
dept:表示部门的表,其中id为唯一标志,然后father_pid表示他们的父级id
#查询父部门id为10的子部门的id的列表
select id from dept start with id = '10' connect by prior id = dept_pid
常用
#将空记录的表名的字段属性进行修改(test是表名,par是字段,DATE是最终修改的属性值)
alter table test modify par DATE;#查询范围内的,主要就是in后面跟(列表),结合一个select关联查询妙用无穷
select * from user where name in ('张三','李四');#时间格式查询
select * from user where createTime > TO_DATE( '2021-10-09 00:00:00', 'YYYY-MM-DD hh24:mi:ss' ) #创建完表后增加主键(STUDENT表名,STUDENT_PK不重复即可,ID主键)
ALTER TABLE STUDENT ADD CONSTRAINT STUDENT_PK PRIMARY KEY ( ID )#修改字段长度(STUDENT 表名,NAME 字段)
ALTER TABLE STUDENT MODIFY NAME VARCHAR(100)
Oracle语句(持续更新)相关推荐
- Postgresql语句持续更新
分区表 partition by case when then end if else 日期:Date,Timestamp,text,String互转 时间获取周,月等 自增序列 创建表,删除表 修改 ...
- oracle 运营维护_总结几个ORACLE数据库日常运维常用的命令(持续更新)
1.重建DBLINK不知道用户密码,不用知道密码,密文在SYS.LINK$存着呢,以sysdba的权限才能取出来 然后通过SQL创建DBLINK CREATE DATABASE LINK " ...
- Database之SQLSever:SQLSever数据库管理学习并深入理解SQL命令语句进阶综合篇《初级→中级→高级》(持续更新,建议收藏)
Database之SQLSever:SQLSever数据库管理学习并深入理解SQL命令语句进阶综合篇<初级→中级→高级>(持续更新,建议收藏) 目录 SQLSever数据库管理学习并深入理 ...
- JDK 7-JDK 21:Oracle Java SE 支持路线图/Oracle Java SE Support Roadmap 持续更新
文章目录 前言 一.Oracle Java SE 产品版本 二.Java SE 8 的公共更新结束 三.参考文档 总结 前言 几十年来,Java 生态系统已经成功地经历了这个过程,经历了十次主要的平台 ...
- Oracle使用游标更新数据 Oracle游标之select for update和where current of 语句
Oracle使用游标更新数据 2016年11月20日 13:15:49 hzwy23 阅读数:5313 友情推广 ###使用游标修改数据 ####定义一个游标,游标名称为 mycursor ##### ...
- U8入库单后台查询处理 常用 SQL 语句(持续更新)
市场上常见的ERP软件有用友.金蝶等-,此篇文章阐述用友U8和SQL SERVER后台常用的的查询 先来了解一下SQL SERVER 中用友U8中 " 收 "单据所对应的表 &qu ...
- oracle联表更新语句
oracle联表更新语句,此处为什么要写下来呢,因为信誓旦旦地用sql中的语句去更新oracle,发现不通用,但是查询可以.所以特意写下来,以免忘记或提醒需要的你们~~ 第一种: update lqp ...
- 莫言经典语句(持续更新中。。。)
莫言经典语句(持续更新中...) 狗头上不了金盘. 心猿脱索,意马开缰. 马铃薯再打扮也是个土豆. 月明秃头亮,水涨轮船高. 树怕屎尿浇根,人怕酒肉灌心. 人不说废话,母狗也能生麒麟. 你现在的学习方 ...
- Oracle项目管理之Primavera Unifier学习地图(持续更新)
目录 卷首语-学习地图 OracleUnifier基本功能介绍 OracleUnifier项目实施要点 OracleUnifier 常规业务管理 OracleUnifier用户管理 OracleUni ...
- 有关数据库sql语句基础小白初学者可学(持续更新)
SELECT - 从数据库中提取数据 SELECT column_name,column_name FROM table_name; 实例: 下面的 SQL 语句从 "Websites&qu ...
最新文章
- 学习RadonDB源码(三)
- 从一个数组中提取出第start位到第end位
- android服务之录音功能
- 编译tensorflow的小小记录
- [翻译:ASP.NET MVC 教程]理解模型、视图和控制器
- 图像旋转(信息学奥赛一本通-T1127)
- 苏宁买买买!将收购家乐福80%股份 成为家乐福中国控股股东
- nginx基于端口的虚拟主机配置实战
- Java从入门到放弃系列
- iNav飞控AOCODARC-F7MINI固件编译
- 期货基础知识——期货期权中英文对照表
- C++:日志库log4cplus 2.0的使用说明
- GO语言-数据结构-栈
- 信号与系统难点之(双边、单边)Z变换的时移性质
- V-token的技术革新,引领数字化支付热潮
- EXCEL数据处理相关操作
- canal安装最详细教程
- elasticsearch7.9安装[单集群单节点、开启权限认证]
- 苹果高通和解后,华为5G芯片市场地位稳了?
- linux 正点原子ov5640_【正点原子FPGA连载】第四十七章 基于OV5640的以太网传输视-摘自【正点原子】开拓者 FPGA 开发指南 (amobbs.com 阿莫电子论坛)...
热门文章
- 在国内愚人节可以开的10个玩笑
- 在线转换pdf和虚拟打印机生成pdf文件操作攻略
- wps 表格 自动生成序号
- 对于DCB的认识---GNSS 误差源
- 微信小程序-开放标签
- 分析数万旅游评论,告诉你国庆景点背后的秘密!
- 微信公众号里如何上传html,微信公众号怎么做表单,微信万能表单如何添加到公众号里...
- vue时间格式2021-11-21T12:30:00.000+00:00转换yyyy-MM-dd HH:mm:ss
- 互联网盈利模式研习笔记 1:流量变现
- 远程桌面优化避坑指南