iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >oracle如何使用单行函数
  • 658
分享到

oracle如何使用单行函数

2024-04-02 19:04:59 658人浏览 安东尼
摘要

这篇文章主要介绍了oracle如何使用单行函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。单行函数只对一行进行变换  每行返回一

这篇文章主要介绍了oracle如何使用单行函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

单行函数

只对一行进行变换  每行返回一个结果

单行函数分 字符、数值、日期、转换、通用

字符函数:大小写控制函数、字符控制函数

          大小写控制函数:lower, upper, initcap

          字符控制函数:concat,substr,length,instr,lpad|rpad,trim,replace

lower,upper,initcap      

select lower('sql') from dual;
--结果 sql
select upper('sql') from dual;
--结果 SQL
select initcap('SQL COurs') from dual;
--结果 Sql Cours 首字母大写

concat,substr,length,instr,lapd|rpd,trim ,replace

select concat('hello','world') from dual; //结果 helloworld 
select substr('HelloWorld',1,4) from dual; //结果 Hell  从第一个字符开始取4个字符 
select length('hellowrld') from dual; //结果 9 求字符长度*/
select instr('HelloWord','w') from dual; //结果 6 第一次出现W的位置
select lpad(salary ,10,'&') from employees ; //结果 &&&&&&2600 左填充& 
select rpad(salary ,10,'&') from employees ; //结果 2600&&&&&& 左填充& 
select trim('H' from 'HHllWoHldHH')from dual; //结果 llWoHld 去首尾不去中间

数字控制 round,trunc,mod

select round(45.36954,4) from dual; //  45.3695四舍五入
select trunc(45.36954,3) from dual; //  45.369 截断
select mod(1600,300) from dual;     //   100 求余数

日期控制  日期只可加减  months_betwwen,add_months,next_day,last_day

两个日期相减返回日期之间相差的天数

可以用数字除24来向日期中加上或减去天数

--查询公司中入职时间是每个月最后两天的员工
select last_name,to_char(hire_date,'yyyy-mm-dd') hdate 
from employees 
where hire_date=last_day(hire_date)-1
--查询到2005年入职超过5年的员工
select last_name,to_char(hire_date,'yyyy-mm-dd') from employees
where to_date('2005-12-31','yyyy-mm-dd')-hire_date >=5
下个月的今天(系统时间上加1个月)
select add_months(sysdate,1) from dual;
--两天后的日期
select next_day(sysdate,2) from dual;

转换  to_char,to_date,to_number

--隐式转换
select '12'+3 from dual;   //char自动转换为number 加减
select sysdate +2 from dual; //number 自动转换为date
--显式转换
select last_name, to_char(hire_date,'yyyy-mm-dd') hire_date from employees;
select to_char(12345678.123,'999,999,999.99') from dual; // 12,345,678.12
select to_char(12345678.123,'000,000,999.99') from dual; // 012,345,678.12 没有的们用0填充
select to_char(12345678.123,'L999,999,999.99') from dual; // $12,345,678.12 'L'为当地货币 
select to_number('$12,345,678.12','L999,999,999.99') from dual; // 12345678.12
select to_number('12,345,678.12','999,999,999.99') from dual;  // 12345678.12

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

nvl(expr1,edpr2),nvl2(expr1,expr2,expr3),nullif(expr1,expr2),coalesce(expr1……exprn)

nvl 将空值转换成一个已知的值 可用于日期、字符、数字

--求公司员工的年薪(含commission_pct)commisson_pct列中有空值
select last_name,salary*12*(1+nvl(commission_pct,0)) "nianxin" from employees;

--输出last_name,department_id,当department_id为null时,显示‘没有部门’
select last_name, nvl(to_char(department_id,'9999'),'没有部门') Dep from employees;
select last_name, nvl(to_char(department_id),'没有部门') Dep from employees; //简写
--NVL中的“没有部门” 是char类型 要把department_id显式转换成为NUMBER 使()中的数据类型一至

nvl2 (expr1,expr2,expr3) 当expr1不为null 返回expr2 ,为null返回expr3

--查询员工的奖金率,若为空,返回0.01,若不为空,返回实际奖金率+0.015
select last_name,commission_pct ,nvl2(commission_pct,commission_pct + 0.015 ,0.01) 
from employees;

nullif (expr1,expr2)  两个表达式相等返回NULL 不相等返回表达式1 expr1

select first_name,length(first_name) "expr1",
        last_name,length(last_name) "expr2",
        nullif(length(first_name),length(last_name)) result
from employees;

case 表达式

CASEexprWHENcomparison_expr1THENreturn_expr1

         [WHEN comparison_expr2 THEN return_expr2

          WHENcomparison_exprnTHENreturn_exprn

          ELSEelse_expr]

END

--查询部门号为10,20, 30 的员工信息, 若部门号为
--10 则打印其工资的1.1 倍,
--20 号部门, 则打印其工资的1.2 倍, 
--30 号部门打印其工资的1.3 倍数
select last_name,department_id,case department_id when 10 then salary * 1.1
                                                  when 20 then salary * 1.2
                                                  else salary * 1.3 end  new_salary
from employees
where department_id in (10,20,30) 

--上面的加显示其他的人的工资
select last_name,department_id,case department_id when 10 then salary * 1.1
                                                  when 20 then salary * 1.2
                                                  when 30 then salary * 1.3
                                                  else salary  end  new_salary
from employees

decode 

DECODE(col|expression, search2, result1 ,

           [, search3, result2,...,]

           [, default])                                                      ------ 用小括号代替 when  ……then

--上面一样的题
select last_name,department_id,decode(department_id,10,salary * 1.1,
                                                    20,salary * 1.2,
                                                       salary * 1.3) new_salary
from employees
where department_id In (10,20,30)
--加显其他员工工资
select last_name,department_id,decode(department_id,10,salary * 1.1,
                                                    20,salary * 1.2,
                                                    30,salary * 1.3,
                                                    salary) new_salary
from employees


感谢你能够认真阅读完这篇文章,希望小编分享的“oracle如何使用单行函数”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: oracle如何使用单行函数

本文链接: https://www.lsjlt.com/news/67103.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle如何使用单行函数
    这篇文章主要介绍了oracle如何使用单行函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。单行函数只对一行进行变换  每行返回一...
    99+
    2024-04-02
  • 如何使用 PHPUnit 进行 PHP 函数单元测试?
    要进行 php 函数单元测试,可以使用 phpunit,步骤如下:创建测试类文件,扩展 phpunit\framework\testcase。为要测试的函数编写以 "test" 开头的测...
    99+
    2024-04-17
    php 单元测试
  • oracle rank函数如何使用
    在Oracle中,RANK函数用于计算一个结果集中每个行的排名。它可以根据指定的列对结果集进行排序,并为每个行分配一个排名值。RAN...
    99+
    2023-08-30
    oracle
  • oracle中replace函数如何使用
    在Oracle中,`REPLACE`函数的语法如下:```sqlREPLACE(string, search_string,...
    99+
    2023-10-07
    oracle
  • Oracle中decode函数如何使用
    这篇文章将为大家详细讲解有关Oracle中decode函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。函数介绍:DECODE函数是ORACLE P...
    99+
    2024-04-02
  • oracle中to_char函数如何使用
    在Oracle中,TO_CHAR函数用于将一个数值、日期或时间转换为字符串。它具有以下语法:TO_CHAR(expr, fo...
    99+
    2023-08-30
    oracle
  • oracle的nvl函数如何使用
    在Oracle数据库中,NVL函数用于检查一个表达式是否为NULL,如果是NULL则返回另一个指定的值,否则返回原表达式的值。 NV...
    99+
    2024-04-02
  • oracle中如何使用CAST函数
    本篇文章为大家展示了oracle中如何使用CAST函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CAST()函数可以进行数据类型的转换。CAST()函数的参数有...
    99+
    2024-04-02
  • oracle的to_date函数如何使用
    Oracle 的 TO_DATE 函数用于将一个字符串转换为日期格式。它的语法如下: TO_DATE(字符串, 格式化字符串) 其中...
    99+
    2024-04-08
    oracle
  • Oracle中nvl( )函数如何使用
    Oracle中nvl( )函数如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、介绍: nvl( ) 函数从两个表达式返...
    99+
    2024-04-02
  • oracle拼接函数如何使用
    Oracle中的拼接函数是使用"||"符号进行字符串连接的,具体用法如下: SELECT column1...
    99+
    2024-04-22
    oracle
  • oracle中如何使用decode函数
    今天就跟大家聊聊有关oracle中如何使用decode函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  一、DECODE函数是ORACLE PL...
    99+
    2024-04-02
  • oracle的instr函数如何使用
    Oracle的INSTR函数是用于在字符串中查找子字符串的位置的函数。它的语法如下:INSTR(string, substring,...
    99+
    2023-08-29
    oracle instr
  • 如何使用第三方库进行 Go 函数单元测试
    答案: 是,使用第三方库可以简化 go 中的单元测试。详细描述:ginkgo 是一个 bdd 框架,用于方便地编写和维护单元测试。除了 ginkgo,还有 testify、gorilla...
    99+
    2024-05-04
    单元测试 第三方库 git
  • oracle中如何使用正则函数
    oracle中如何使用正则函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用这些函数可以在字符串中搜索字符模式。例如,假设...
    99+
    2024-04-02
  • Contains 函数如何在Oracle 中使用
    本篇文章为大家展示了Contains 函数如何在Oracle 中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 查询住址在北京的学生SELECT&n...
    99+
    2024-04-02
  • 如何在PHP中使用Oracle函数
    随着企业应用软件的开发,许多企业开始使用Oracle数据库来存储数据。在PHP开发中,Oracle数据库有着广泛的应用,因为它是一个可靠的高性能的数据库。为了更好地使用Oracle数据库,你需要了解如何在PHP中使用Oracle函数。在本文...
    99+
    2023-05-18
    函数 PHP Oracle
  • PHP 函数如何进行单元测试
    php 单元测试用于验证独立函数或模块的功能,使用 phpunit 框架。包含以下步骤:安装 phpunit,创建以 test 结尾继承自 phpunit_framework_testc...
    99+
    2024-04-10
    php 单元测试 composer
  • 如何使用 Golang 函数类型进行函数编程?
    go 函数类型提供函数编程能力,允许传递函数作为参数和创建高阶函数。具体实现方式包括:1. 定义函数类型;2. 使用函数作为参数;3. 使用匿名函数;4. 创建高阶函数和实现函数柯里化。...
    99+
    2024-04-19
    golang 函数编程
  • 如何使用单元测试框架对 Golang 函数进行测试?
    go 中使用单元测试框架进行单元测试:导入 testing 包。编写以 test 为前缀的单元测试函数。使用断言函数(如 assertequal())验证测试结果。运行单元测试(go t...
    99+
    2024-04-16
    golang 单元测试 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作