一、字符控制函数


函数 结果
CONCAT('Hello','World') HelloWorld
SUBSTR('HelloWorld',1,5) Hello
LENGTH('HelloWorld') 10
INSTR('HelloWorld','W') 6
LPAD(salary,10,'*'):工资显示10位不足时用*补充 ******2400
RPAD(salary,10,'*') 2400******
TRIM('H' FROM 'HelloWorld') elloWorld
REPLACE('HelloWorld','H','E') EelloWorld

二、大小写控制函数


函数 结果
LOWER('HelloWorld') HELLOWORLD
UPPER('HelloWorld') helloworld
INITCAP('HelloWorld SQL') Helloworld Sql

三、数字函数


函数 结果
ROUND(四舍五入):ROUND(45.926,2) 45.93
TRUNC(截断):TRUNC(45.926,2) 45.92
MOD(求余):MOD(1600,300) 100

四、日期函数


Oracle 中的日期型数据实际含有两个值: 日期和时间(函数SYSDATE 的返回值)
      ● 在日期上加上或减去一个数字结果仍为日期。
      ● 两个日期相减返回日期之间相差的天数。(日期不允许做加法运算,无意义)
      ● 可以用数字除24来向日期中加上或减去天数。

函数 描述
MONTHS_BETWEEN 两个日期相差的天数
ADD_MONTHS 向指定日期加上若干个月
NEXT_DAY 指定日期的下一个星期*对应的日期
LAST_DAY 本月的最后一天
ROUND 日期四舍五入
TRUNC 日期截取

举例:MONTHS_BETWEEN('01-SEP-95','11-JAN-94')——> 19.6774194
ADD_MONTHS ('11-JAN-94',6) ——> '11-JUL-94'
NEXT_DAY ('01-SEP-95','FRIDAY') ——> '08-SEP-95'
LAST_DAY('01-FEB-95') ——> '28-FEB-95'

五、数据类型转化


日期格式元素与显示情况列表如下(TO_CHAR(data,'format_model)函数对日期转换时,format_model常用的属性如下):

时间格式:

举个栗子:

TO_CHAR函数对数字的转换(TO_CHAR(number,'format_model')):下面在 TO_CHAR 函数中经常使用的几种格式:

9 数字
0
$ 美元符
L 本地货币符号
' 小数点
, 千位符

举个栗子:

六、通用函数:这些函数适用于任何数据类型,同时也适用于空值


【1】NVL(expr1,expr2):将空值转化成一个已知的值,可以使用的数据类型有日期、字符、数字。函数的一般形式有:
       —  NVL(commission_pct,0)
       —  NVL(hire_date,'01-JAN-97')
       —  NVL(job_id,'No Job Yet')

【2】NVL2(expr1,expr2,expr3):expr1不为NULL,返回expr2;为NULL时,返回expr3。

【3】NULLIF(expr1,expr2):相等返回NULL,不相等返回expr1。

【4】COALESCE(expr1,expr2,......,exprn):与 NVL 相比有点在于 COALESCE 可以同时处理交替的多个值。如果第一个表达式为NULL,则返回下一个表达式,依次类推。

七、条件表达式


【1】、在 SQL 语句中使用 IF-THEN-ELSE 逻辑时,使用两种方法:
        — CASH 表达式

CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END

☛下面使用 case 表达式的一个例子:
    

— DECODE 函数

DECODE(col|expression, search1, result1 ,
[, search2, result2,...,]
[, default])

☛下面使用 case 表达式的一个例子:
     

八、分组函数


常用的分组函数如下(经常使用就不过多解释了):GROUP BY、MAX、MIN、AVG、COUNT、SUM等。

就说一个知识点吧:条件判断里面包含组函数的必须使用 HVING 不能使用 WHERE:

----关注公众号,获取更多内容----

最新文章

  1. [poj1113][Wall] (水平序+graham算法 求凸包)
  2. 什么是hasLayout?
  3. js-函数eval
  4. ASP.NET 5探险(7):使用混合型控制器方便实现单页应用
  5. ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法
  6. 自动构建Makefile(1)--C/C++编译流程&Makefile规则简介
  7. C++ 多继承和虚继承的内存布局(转)
  8. ecos资源探测器
  9. Scrapyd 改进第二步: Web Interface 添加 STOP 和 START 超链接, 一键调用 Scrapyd API
  10. 浮点数乘积的取整intval,以及高精度函数bcmath的使用
  11. WPF设计の不规则窗体
  12. 错误 1 “Entities.PlanPrjEntity.PlanPrjs”不可访问,因为它受保护级别限制
  13. com.mysql.jdbc.Driver 与 org.gjt.mm.mysql.Driver的区别
  14. Newtonsoft.Json反序列化(Deserialize)出错:Bad JSON escape sequence
  15. redis服务部署脚本
  16. 【解决问题】failed: java.lang.RuntimeException: org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer.
  17. js跟随的广告
  18. VMware esxi 5.5装机方案
  19. jsp servlet 进行基于js的用户验证
  20. Win10系统下VirtualBox虚拟机初体验

热门文章

  1. 【PDF】数理科学 2001年01月号 特集:「時間とは何か」- 時間が生んだ世界観とパラダイム -
  2. <三>JMeter逻辑控制器简介
  3. 苹果公司对蓝牙免提AT指令的扩充
  4. sequelize关联相关表
  5. ES6 函数的扩展 rest参数
  6. js 原生数据类型判断
  7. SpingBoot面试大汇总
  8. Think in UML 其二
  9. 使用fontmin,压缩字体文件,从十几M到几kb,只选择需要使用的文字
  10. 查看mmdetection中模型的配置信息