4. 单行函数

来源:互联网 发布:淘宝已发货无需物流 编辑:程序博客网 时间:2024/06/07 03:49

单行函数

  • 操作数据对象
  • 接受参数返回一个结果
  • 只对一行进行变换
  • 每行返回一个结果
  • 可以转换数据类型
  • 可以嵌套
  • 参数可以是一列或一个值
function_name [(arg1, arg2,...)]

这里写图片描述

字符函数

这里写图片描述

大小写控制函数

这类函数改变字符的大小写。

函数 结果 LOWER(‘SQL Course’) SQL course UPPER(‘SQL Course’) SQL course INITCAP(‘SQL Course’) SQL course

字符控制函数

这类函数控制字符:

函数 结果 CONCAT(‘Hello’, ‘World’) HelloWorld SUBSTR(‘HelloWorld’,1,5) Hello LENGTH(‘HelloWorld’) 10 INSTR(‘HelloWorld’, ‘W’) 6 LPAD(salary, 10, ‘*’) *****24000 RPAD(salary, 10, ‘*’) 24000***** TRIM(‘H’ FROM ‘HelloWorld’) elloWorld REPLACE(‘abcd’,’b’,’m’) amcd
SELECT employee_id, CONCAT(first_name, last_name) NAME,        job_id, LENGTH (last_name),        INSTR(last_name, 'a') "Contains 'a'?"FROM   employeesWHERE  SUBSTR(job_id, 4) = 'REP';

数字函数

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

日 期

  • Oracle 中的日期型数据实际含有两个值: 日期和时间。
  • 函数SYSDATE 返回:
    • 日期
    • 时间

日期的数学运算

  • 在日期上加上或减去一个数字结果仍为日期。
  • 两个日期相减返回日期之间相差的天数。
    • 日期不允许做加法运算,无意义
  • 可以用数字除24来向日期中加上或减去天数。

日期函数

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

转换函数

这里写图片描述

隐式数据类型转换

Oracle 自动完成下列转换:

源数据类型 目标数据类型 VARCHAR2 or CHAR NUMBER VARCHAR2 or CHAR DATE NUMBER VARCHAR2 DATE VARCHAR2

显式数据类型转换

这里写图片描述

TO_CHAR函数对日期的转换

TO_CHAR(date, ‘format_model’)
格式:
- 必须包含在单引号中而且大小写敏感。
- 可以包含任意的有效的日期格式。
- 日期之间用逗号隔开。

SELECT TO_CHAR(sysdate,‘yyyy-mm-dd hh:mi:ss’) FROM dual;
select employee_id,last_name,hire_datefrom employeeswhere to_char(hire_date,’yyyy-mm-dd’) =1987-09-17

TO_DATE 函数对字符的转换

0 0
原创粉丝点击