SQL 21 天自学通学习笔记 2
日期、时间函数:
select * from project;
针对日期型:
1. add_months: 增加月份
select * from task,startdate,enddate,original_end,add_months(enddate,2) from project;
select task tasks_shorter_than_one_month from project where add_months(startdate,1) > enddate;
2. last_day: 最后一天
select enddate,last_day (enddate) from project;
select distinct last_day('1-FEB-95') NON_LEAP,LAST_DAY('1-FEB-96') LEAP FROM PROJECT;
3. months_between: 中间有几个月
select task,startdate,enddate,months_between(enddate,startdate) duration from project;
select * from project where months_between('19 MAY 95',STARTDATE) > 0;
4. new_time: 调整时区
select enddate edt,new_time(enddate,'edt','pdt') from project;
5. next_day: 返回与指定日期同一星期或下一星期的,星期几的确切日期;
select startdate,next_day(startdate,'friday') from project;
6. sysdate:系统日期和时间
select distinct dysdate from project;
select * from project where startdate > sysdate;
数学函数:
1. ABS : 绝对值
select ABS(A) absolute_value from numbers;
2. CELL (比参数大的最小整数) 和 FLOOR(比参数小的最大整数)
select B,cell(B) ceiling from numbers;
select A,floor(A) floor from numbers;
3. COS COSH SIN SINH TAN TANH 三角函数,默认参数认定为弧度制;
4. EXP : 返回给定参数为指数,e为底数的幂值;
select A,EXP(A) from numbers;
5. LN : 返回给定参数的自然对数;
6. LOG: 返回结合参数的对数;
7. MOD: 取模;
SELECT A B MOD A B FROM NUMBERS
8. POWER: 幂数;
SELECT A B POWER A B FROM NUMBERS;
9. SIGN:如果参数的值为负数那么SIGN 返回-1 如果参数的值为正数那么SIGN 返回1
如果参数为零那么SIGN 也返回零;
SELECT A SIGN A FROM NUMBERS
10. SQRT:开方
SELECT A SQRT A FROM NUMBERS
字符串函数:
1. concat : 连接,等同“|| ”;
2. initcap:首字母转大写
select firstname before,initcap(firstname) after from characters;
3. upper,lower
select firstname,upper(firstname),lower(firstname) from characters
4. lpad,rpad 填充字符串 , 至少两个参数
SQL> select lastname,lpad(lastname,20,'*') from characters;
LASTNAME LPAD(LASTNAME,20,'*')
------------------------------------ ----------------------------------------
PURVIS **************PURVIS
TAYLOR **************TAYLOR
CHRISTINE ***********CHRISTINE
ADAMS ***************ADAMS
COSTALES ************COSTALES
KONG ****************KONG
6 rows selected
SQL> select lastname,rpad(lastname,20,'*') from characters;
LASTNAME RPAD(LASTNAME,20,'*')
------------------------------------ ----------------------------------------
PURVIS PURVIS**************
TAYLOR TAYLOR**************
CHRISTINE CHRISTINE***********
ADAMS ADAMS***************
COSTALES COSTALES************
5. ltrim,rtrim 截取字符串 ,至少一个参数
SQL> select lastname,rtrim(lastname) from characters;
LASTNAME RTRIM(LASTNAME)
------------------------------------ ------------------------------------
PURVIS PURVIS
TAYLOR TAYLOR
CHRISTINE CHRISTINE
ADAMS ADAMS
COSTALES COSTALES
KONG KONG
6 rows selected
6. replace : 替换
SQL> select lastname,replace(lastname,'ST','') replacement from characters;
LASTNAME REPLACEMENT
------------------------------------ ------------------------------------
PURVIS PURVIS
TAYLOR TAYLOR
CHRISTINE CHRIINE
ADAMS ADAMS
COSTALES COALES
KONG KONG
6 rows selected
SQL> select lastname,replace(lastname,'ST',null) replacement from characters;
LASTNAME REPLACEMENT
------------------------------------ ------------------------------------
PURVIS PURVIS
TAYLOR TAYLOR
CHRISTINE CHRIINE
ADAMS ADAMS
COSTALES COALES
KONG KONG
6 rows selected
SQL> select lastname,replace(lastname,'ST','*') replacement from characters;
LASTNAME REPLACEMENT
------------------------------------ ------------------------------------
PURVIS PURVIS
TAYLOR TAYLOR
CHRISTINE CHRI*INE
ADAMS ADAMS
COSTALES CO*ALES
KONG KONG
6 rows selected
7. substr : 截取字串
SQL> select firstname,substr(firstname,2,3) from characters;
FIRSTNAME SUBSTR(FIRSTNAME,2,3)
------------------------------------ ---------------------
kelly ell
CHUCK HUC
LAURA AUR
FESTER EST
ARMANDO RMA
MAJOR AJO
6 rows selected
SQL> select firstname,substr(firstname,3) from characters;
FIRSTNAME SUBSTR(FIRSTNAME,3)
------------------------------------ --------------------------------------------------------------------
kelly lly
CHUCK UCK
LAURA URA
FESTER STER
ARMANDO MANDO
MAJOR JOR
6 rows selected
8. translate : 翻译函数 ,三个参数,对大小写敏感
select firstname,translate(firstname,'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','NNNNNNNNNNAAAAAAAAAAAAAAAAAAAAAAAAAA')
2 from characters;
FIRSTNAME TRANSLATE(FIRSTNAME,'012345678
------------------------------------ ------------------------------------------------------------------------
kelly kelly
CHUCK AAAAA
LAURA AAAAA
FESTER AAAAAA
ARMANDO AAAAAAA
MAJOR AAAAA
6 rows selected
9. instr 搜索函数
SQL> select lastname, instr(lastname,'O',2,1)from characters;
LASTNAME INSTR(LASTNAME,'O',2,1)
------------------------------------ -----------------------
PURVIS 0
TAYLOR 5
CHRISTINE 0
ADAMS 0
COSTALES 2
KONG 2
6 rows selected
10 lenght : 返回字符串的长度
SQL> select firstname,length(rtrim(firstname)) from characters;
FIRSTNAME LENGTH(RTRIM(FIRSTNAME))
------------------------------------ ------------------------
kelly 5
CHUCK 5
LAURA 5
FESTER 6
ARMANDO 7
MAJOR 5
6 rows selected
转换函数:
1. to_char: 转换成字符串;
select testnum,length(to_char(testnum)) from conversions;
TESTNUM LENGTH(TO_CHAR(TESTNUM))
------- ------------------------
95 2
23 2
68 2
2. to_number: 转换成数字;
select name,testnum,testnum*to_number(name) from conversions;
NAME TESTNUM TESTNUM*TO_NUMBER(NAME)
--------------- ------- -----------------------
40 95 3800
13 23 299
74 68 5032
3. greatest , least
SQL> select greatest('ALPHA','BRAVO','FOXTROT','DELTA') FROM CONVERSIONS;
GREATEST('ALPHA','BRAVO','FOXT
------------------------------
FOXTROT
FOXTROT
FOXTROT
SQL> select least(34,567,3,45,1090) from conversions;
LEAST(34,567,3,45,1090)
-----------------------
3
3
3
4. user 查询表所属的用户;
SQL> select user from characters;
USER
------------------------------
oracle
SQL 21 天自学通学习笔记 2相关推荐
- 第71课:Spark SQL窗口函数解密与实战学习笔记
第71课:Spark SQL窗口函数解密与实战学习笔记 本期内容: 1 SparkSQL窗口函数解析 2 SparkSQL窗口函数实战 窗口函数是Spark内置函数中最有价值的函数,因为很多关于分组的 ...
- SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月
邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...
- 『SQL Server 2000 Reporting Services学习笔记』(1)报表管理器的使用 与 通过角色分配配置安全性...
『SQL Server 2000 Reporting Services学习笔记』(1)报表管理器的使用 与 通过角色分配配置安全性 __________________________________ ...
- HALCON 21.11:深度学习笔记---语义分割/边缘提取(12)
HALCON 21.11:深度学习笔记---语义分割/边缘提取(12) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语 ...
- HALCON 21.11:深度学习笔记---对象检测, 实例分割(11)
HALCON 21.11:深度学习笔记---对象检测, 实例分割(11) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在 ...
- HALCON 21.11:深度学习笔记---分类(10)
HALCON 21.11:深度学习笔记---分类(10) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何在训练和推理阶段使用基于深度学习的分类. 基于深度学习的分类是一种对一 ...
- HALCON 21.11:深度学习笔记---异常检测(9)
HALCON 21.11:深度学习笔记---异常检测(9) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的异常检测. 通过异常检测,我们想要检测图像是否包含 ...
- HALCON 21.11:深度学习笔记---模型(8)
HALCON 21.11:深度学习笔记---模型(8) HALCON 21.11.0.0中,实现了深度学习方法. 本章阐述了HALCON中深度学习(DL)模型的一般概念和数据处理. 从概念上讲,HAL ...
- HALCON 21.11:深度学习笔记---术语表(7)
HALCON 21.11:深度学习笔记---术语表(7) HALCON 21.11.0.0中,实现了深度学习方法.下面,我们将描述深度学习环境中使用的最重要的术语: anchor (锚) Anchor ...
最新文章
- python 示列:抓取网页所有a连接
- 为何需要将jupyter notebook转为脚本
- Oracle 11g密码过期问题解决方案
- 用神经网络测量训练集的半衰期
- DataGirdView 编辑项时的验证
- 前端开发 表单标签 完成一个简单登陆的效果 0228
- Pravega应用实战:为什么云原生特性对流处理很重要?
- Python基础学习笔记(一)python发展史与优缺点,岗位与薪资
- Xshell家庭版下载
- linux ssh密钥登录
- 2018-2019-2 20175215 实验五《网络编程与安全》实验报告
- 【Android Studio安装部署系列】三十一、从Android studio3.0.0升级到Android studio3.0.1
- Ubuntu 网络配置
- https默认端口_Java企业信息化平台O2OA如何配置服务器来启用HTTPS(SSL)
- Microsoft Office 2019 正式版 安装记录
- Chrome谷歌浏览器离线安装包下载
- linux用vi查找字符串替换,Linux中vi进行字符替换
- LocalDate获取时间戳
- Anaconda Prompt 怎么切换工作路径
- 2022-2027年中国城市公共汽车客运行业发展前景及投资战略咨询报告