Unit02: Oracle字符串操作 、 Oracle数值操作 、 Oracle日期操作 、 空值操作    

DQL数据查询语言
查询语句基本由SELECT子句由FROM子句构成.
SELECT子句指定要查询的字段. FROM指定数据来源.
SELECT子句中可以出现表中的字段,函数或表达式. SELECT * FROM emp SELECT ename,job,sal,deptno
FROM emp SELECT ename,sal*12
FROM emp WHERE子句,可以添加过滤条件,用在
查询中可以将只满足WHERE条件的记录
查询出来
查看工资大于2000的员工?
SELECT ename,sal
FROM emp
WHERE sal>2000 不等于判断用"<>"
SELECT ename,job,sal,deptno
FROM emp
WHERE deptno<>20 字符串函数: CONCAT(c1,c2)
连接字符串
SELECT CONCAT(ename,sal)
FROM emp SELECT CONCAT(CONCAT(ename,':'),sal)
FROM emp "||"可以同时连接多个字符串
SELECT ename||':'||sal
FROM emp LENGTH(ch)
查看字符串长度
SELECT ename,LENGTH(ename)
FROM emp SELECT ename,sal
FROM emp
WHERE LENGTH(ename)>4 UPPER,LOWER,INITCAP
转换大写,小写,首字母大写 dual:伪表。当查询的内容不是
任何表中的内容时使用。
SELECT UPPER('helloworld'),
LOWER('HELLOWORLD'),
INITCAP('HELLO WORLD')
FROM dual SELECT ename,sal,deptno
FROM emp
WHERE ename=UPPER('scott') TRIM,LTRIM,RTRIM
去除字符串两边,左边,右边的
指定内容
SELECT
TRIM('e' FROM 'eeeeliteee')
FROM dual SELECT
LTRIM('esfsffefesliteeee','efs')
FROM dual SELECT
RTRIM('eeeeliteeee','e')
FROM dual LPAD,RPAD
补位函数
SELECT RPAD(ename,10,' ')
FROM emp SUBSTR(ch,m,n)
截取字符串,从第m个字符开始截取n个字符
n不指定则是截取到末尾,n超过实际可以截
取的个数也是截取到末尾。
m若是负数,则是从倒数位置开始截取。
数据库下标都是从1开始
SELECT
SUBSTR('thinking in java',-7,2)
FROM
dual INSTR(ch1,ch2,m,n)
查看ch2在ch1中的位置
m表示从哪里开始查找
n表示第几次出现
m,n不写默认都是1
SELECT
INSTR('thinking in java','in',4,2)
FROM
dual 数字函数:
ROUND(n[, m])
四舍五入
SELECT ROUND(45.678, 2) FROM DUAL SELECT ROUND(45.678, 0) FROM DUAL SELECT ROUND(55.678, -2) FROM DUAL TRUNC(n[, m])
截取字符串
SELECT TRUNC(45.678, 2) FROM DUAL SELECT TRUNC(45.678, 0) FROM DUAL SELECT TRUNC(55.678, -1) FROM DUAL MOD(m,n)
求余
SELECT ename,MOD(sal,1000)
FROM emp CEIL(n)和FLOOR(n)
向上取整和向下取整
SELECT CEIL(45.678) FROM DUAL
SELECT FLOOR(45.678) FROM DUAL 日期类型相关的关键字
SYSDATE:对应一个内置的函数,返回
一个DATE类型的当前系统时间。
SYSTIMESTAMP:返回一个时间戳类型
的当前系统时间。 SELECT SYSDATE FROM dual SELECT SYSTIMESTAMP FROM dual TO_DATE()函数
可以将一个字符串按照给定的日期格式
转换为DATE
SELECT
TO_DATE('1992-08-03','YYYY-MM-DD')
FROM
dual 日期可以进行计算
对一个日期加减一个数字,结果相当于
加减了天。
两个日期之间相减差为相差的天数。
日期可以比大小,越晚的越大。 SELECT SYSDATE+1
FROM dual 查看每个员工入职到今天共多少天?
SELECT ename,SYSDATE-hiredate
FROM emp SELECT
SYSDATE-TO_DATE('1992-08-03','YYYY-MM-DD')
FROM dual TO_CHAR()
将日期按照指定格式转换为字符串
SELECT
ename,TO_CHAR(hiredate,'YYYY-MM-DD')
FROM
emp SELECT
ename,TO_CHAR(hiredate,'YYYY"年"MM"月"DD"日"')
FROM
emp YY与RR在TO_DATE函数中将2位数字
解析为DATE时是有所区别的:
YY:不关注世纪
RR:自行判定世纪
SELECT
TO_CHAR(
TO_DATE('49-05-01','RR-MM-DD'),
'YYYY-MM-DD'
)
FROM
dual LAST_DAY(date)
返回给定日期所在月的月底日期
SELECT LAST_DAY(SYSDATE)
FROM dual ADD_MONTHS(date,i)
对指定日期加指定的月,若i是
负数则是减去。
查看每个员工入职20周年纪念日
SELECT
ename,ADD_MONTHS(hiredate,12*20)
FROM emp MONTHS_BETWEEN(date1,date2)
计算两个日期之间相差的月
查看每个员工入职至今共多少个月?
SELECT
ename,TRUNC(MONTHS_BETWEEN(SYSDATE,hiredate))
FROM emp NEXT_DAY(date,i)
返回给定日期第二天开始一周内的
指定周几的日期。
SELECT NEXT_DAY(SYSDATE,3)
FROM dual LEAST、GREATEST
求最小值与最大值
SELECT
LEAST(SYSDATE,
TO_DATE('2008-08-08',
'YYYY-MM-DD')
)
FROM
dual EXTRACT函数
获取给定日期指定时间分量对应的值
SELECT EXTRACT(YEAR FROM SYSDATE)
FROM dual 查看1980年入职的员工?
SELECT ename,hiredate
FROM emp
WHERE EXTRACT(YEAR FROM hiredate)=1981 空值操作
CREATE TABLE student(
id NUMBER(4),
name CHAR(20),
gender CHAR(1)
); INSERT INTO student VALUES(1000, '李莫愁', 'F'); INSERT INTO student VALUES(1001, '林平之', NULL); INSERT INTO student(id, name) VALUES(1002, '张无忌'); SELECT * FROM student
更新成NULL
UPDATE student
SET gender=NULL
WHERE id=1000 在判断一个字段值是否为NULL要使用
IS NULL 或 IS NOT NULL
DELETE FROM student
WHERE gender IS NULL NULL参与运算的注意事项:
1:NULL与字符串连接等于什么也没做
2:NULL与数字运算结果还是NULL SELECT
ename,sal,comm,sal+comm
FROM emp 空值函数
NVL(arg1,arg2)

若第一个参数为NULL函数返回
第二个参数,否则直接返回第一个参数
SELECT ename,sal,comm,
sal+NVL(comm,0)
FROM emp 查看每个员工的绩效情况,即:
有绩效的显示为"有绩效",为
NULL的则显示为"没有绩效" NVL2(arg1,arg2,arg3)
若arg1不为NULL,函数返回arg2
若arg1为NULL,函数返回arg3 SELECT
ename,comm,
NVL2(comm,'有绩效','没有绩效')
FROM
emp SELECT
ename,sal,comm,
NVL2(comm,sal+comm,sal)
FROM
emp

JAVA-Unit02: Oracle字符串操作 、 Oracle数值操作 、 Oracle日期操作 、 空值操作的更多相关文章

  1. 问题:oracle字符串函数;结果:Oracle字符串函数

    Oracle字符串函数 最近换了新公司,又用回Oracle数据库了,很多东西都忘记了,只是有个印象,这两晚抽了点时间,把oracle对字符串的一些处理函数做了一下整理,供日后查看.. 平常我们用Ora ...

  2. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  3. Oracle字符串函数

    Oracle字符串函数 平常我们用Oracle主要有两种字符串类型1.char始终为固定的长度,如果设置了长度小于char列的值,则Oracle会自动用空格填充的.当比较char时,Oracle用空格 ...

  4. Oracle字符串操作[转:http://www.cnblogs.com/xd502djj/archive/2010/08/11/1797577.html]

    ORACLE 字符串操作 1 字符串连接   SQL> select 'abc' || 'def' from dual; 'ABC'|------abcdef 2 小写SQL>select ...

  5. Oracle数据库(一)概述、基础与简单操作

    数据库: 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. 数据库分类: 关系型数据库 非关系型数据库 数据库 类型 特性 优点 缺点 关系型数据库 SQLite.Oracle. ...

  6. 这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧!

    日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 “SYSDATE”来指定查询的日期. SELECT TRUNC (SYSDATE, 'MO ...

  7. oracle读写文件--利用utl_file包对磁盘文件的读写操作

    oracle读写文件--利用utl_file包对磁盘文件的读写操作 摘要: 用户提出一个需求,即ORACLE中的一个表存储了照片信息,字段类型为BLOB,要求能导出成文件形式. 本想写个C#程序来做, ...

  8. Oracle中日期时间的操作比较和加减-入门基础(转)

    Oracle关于时间/日期的操作     1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual ...

  9. java入门学习笔记之2(Java中的字符串操作)

    因为对Python很熟悉,看着Java的各种字符串操作就不自觉的代入Python的实现方法上,于是就将Java实现方式与Python实现方式都写下来了. 先说一下总结,Java的字符串类String本 ...

随机推荐

  1. 002——vue小结

    1.new 一个vue对象的时候你可以设置他的属性,其中最重要的包括三个,分别是:data,methods,watch. 2.其中data代表vue对象的数据,methods代表vue对象的方法,wa ...

  2. JS之BOM和DOM(来源、方法、内容、应用)

    1.Javascript组成(此文为转载) JavaScript的实现包括以下3个部分: 1)核心(ECMAScript):描述了JS的语法和基本对象. 2)文档对象模型 (DOM):处理网页内容的方 ...

  3. 在.NET Core中连接使用Zookeeper

    一开始找到的是ZookeeperNetEx,但是很多API都很原始,不怎么好用. 最后确定用Rabbit.Zookeeper来做,他对ZookeeperNetEx进行了封装,要简单不少. 和c语言和j ...

  4. jQuery 滑动选项卡jQuery tabslet

    Tabslet   Yet another jQuery plugin for tabs, lightweight, easy to use and with some extra features ...

  5. java入门学习(5)—面向对象注意点总结

    1.一个类里面最多有5种成份(属性,方法,构造器,还有两种还没有涉及). 2.定义方法时又返回值的保证最起码有一个有效的return语句,最起码让其在编译的时候就识别到,而不是经过判断识别,如通过if ...

  6. C# ASP.NET MVC 之 SignalR 学习 实时数据推送显示 配合 Echarts 推送实时图表

    本文主要是我在刚开始学习 SignalR 的技术总结,网上找的学习方法和例子大多只是翻译了官方给的一个例子,并没有给出其他一些经典情况的示例,所以才有了本文总结,我在实现推送简单的数据后,就想到了如何 ...

  7. 用sublime server 启动本地服务器(手机访问电脑页面)

    安装sublime server 插件包           1.Ctrl + shift + p                      install package               ...

  8. Spring 学习笔记(一)

    # IOC, DI # ApplicationContext.xml 描述类之间的依赖注入关系 # 初始化Bean工厂的两种方式 ## ClassPathXmlApplicationContext # ...

  9. [译]缓解BEAST对TLS攻击的方式

    原文链接:https://community.qualys.com/blogs/securitylabs/2011/10/17/mitigating-the-beast-attack-on-tls 原 ...

  10. 使用jenkins持续集成自动化测试

    本文采用Springboot开发一个简易的添加个人资料和查询个人资料接口,并采用testng进行测试,使用jenkis进行持续继承,allure输出测试报告. 个人资料查询接口开发(集成H2数据库) ...