多行函数(理解:有多个输入,但仅仅输出1个结果)

SQL>select count(*) from emp;

COUNT(*)

-------------

14

B
字符函数Lower

select Lower('Hello')
转小写,

upper('hello')
转大写,

initcap('hello woRld') 
首字母大写

from dual;

结果:

转小 
转大 
首字母大写

---------- -----------

helloHELLO Hello World

C字符函数 concat:

select 
concat('hello','world') from dual

concat函数嵌套:

select concat (concat('hello', 'world'),'cccc')  函数嵌套 from dual;

函数嵌套

--------------

helloworldcccc

D字符函数 substr()

SUBSTR(a,b) ---
从a中第b位去字符串

substr(a, b, c)
从a中第b位,
c个字符....

select substr('abcdefg1111', 2)
从第二位取子串,

substr('abcdefg1111', 2, 4)
取4个字符

from dual;

从第二位取
取4

----------------- ------

bcdefg1111  bcde

E
 length字符数  
lengthb字节数

注意:一个中文字符,两个字节

select length('中国abc')
字符数,

lengthb('中国abc')
字节数

from dual;

执行结果:

字符数    
字节数

----------     ----------

5

F instr(),lpad(),rpad(),trim()函数

select instr('abcdefg', 'efg') 求子串位置
from dual;

求子串位置

----------------

5

selectlpad('abcd', 10, '*') lpad, rpad('abcd', 10, '*') rpad from dual;

LPAD            RPAD

----------       ----------

******abcd abcd******

--trim
去掉前后指定的字符,字符能够是空格,也能够不是空格
.

selecttrim('A' from 'ABCDEFg') from dual;

TRIM('

------

BCDEFg


数字函数

第二个參数

含义

2> 0

保留2位

= 0

保留到个位

-1

保留到10位

-2

保留到百位(要看十位
四舍五入)

selectround(45.926, 2) AA,

round(45.926, 1) BB,

round(45.926, 0) CC,

round(45.926) DD,

round(45.926, -1) EE,

round(45.926, -2) FF

from dual;

结果:

AA        
BB         CC         DD        
EE         FF

----------   
 ----------     ----------   
 ----------     ----------
   ----------

45.93      45.9        
46         46         50         
0


日期函数

时间的计算.......

oracle数据库中 date包括
日期和时间

mysql                        3中数据类型 date
、time
、times.

A   selectto_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual ;

TO_CHAR(SYSDATE,'YY

-------------------

2014-10-0716:34:17

B   ----昨天今天明天

select sysdate-1 昨天,

sysdate
今天,

sysdate+1
明天

from dual;

selectto_char(sysdate-1, 'yyyy-mm-dd hh24:mi:ss') 昨天,

sysdate
今天,

sysdate+1
明天

from dual;

C  ----查询员工的入职时间,依照

月 

方式显示.....

select(sysdate-hiredate)/7 周,

(sysdate-hiredate)/30
月,

(sysdate-hiredate)/365

from emp;

select (sysdate-hiredate)/7
周,

(sysdate-hiredate)/30
月,

(sysdate-hiredate)/365

from emp;

周       
  月        

----------   ----------
   ----------

1763.95625 411.589791 33.8292979

1754.67053 409.423125 33.6512157

1754.38482 409.356458 33.6457363

D  查询员工的入职时间,
入职月数

selectename,

(sysdate-hiredate)/30
预计月,

MONTHS_BETWEEN(sysdate, hiredate)
函数计算月

from emp

select ename,

(sysdate-hiredate)/30
预计月,

MONTHS_BETWEEN(sysdate, hiredate)
函数计算月

from emp;

ENAME         
预计月
函数计算月

----------          ---------- 
 ----------

SMITH     411.589872 405.699876

ALLEN     409.423205 403.603102

WARD      409.356539 403.538586

JONES     408.056539 402.183747

MARTIN    402.089872 396.345037

selectnext_day(sysdate, '星期六') from dual ;

NEXT_DAY(SYSDA

--------------

11-10月-14

4
数据类型转换

select * from emp where hiredate >'01-1月 -81'


日期相关类型转换

比这个日期都要大的08-9月 -81
全部员工信息
依照三种方式实现

(1):隐式类型转换

select*

from emp

where hiredate > '01-1月 -81';

(2):字符串转成日期..显示类型转换

select*

from emp

where hiredate > to_date('1981-01-0102:03:04', 'yyyy-mm-dd hh24:mi:ss');

(3):日期转换成为日期类型的字符串:

select*

from emp

where to_char(hiredate, 'yyyy-mm-ddhh24:mi:ss') > '1981-01-01 02:03:04'


数字和字符串转换


--查询员工的薪水:两位小数
本地货币代码
千位符

Y1,250.00

select empno, ename, to_char(sal, 'L9,999.99')

fromemp

结果:

EMPNO ENAME     TO_CHAR(SAL,'L9,999

---------- ---------- -------------------

7369SMITH                 ¥800.00

7499ALLEN               ¥1,600.00

7521WARD                ¥1,250.00

7566JONES               ¥2,975.00

7654MARTIN              ¥1,250.00

7698BLAKE               ¥2,850.00

7782CLARK               ¥2,450.00


把这个字符¥1,250.00,转成数字.....

select to_number('¥1,250.00','L9,999.99') from dual ;

TO_NUMBER('¥1,250.00','L9,999.99')

-----------------------------------

1250

6
通用函数


给员工涨工资:总裁 1000 
经理:800 
其它涨500,

===============================================

分析:前后工资给列出来

if (job == 'PRESIDENT')

SAL+1000

else if (job == 'MANAGER')

SAL+800

else

SAL+500

================================================

使用的知识点:

CASE expr WHEN comparison_expr1 THEN return_expr1

[WHEN comparison_expr2 THENreturn_expr2

WHEN comparison_exprn THEN return_exprn

ELSE else_expr]

END

===============================================

转化:

CASE job when 'PRESIDENT' then sal+1000

when'MANAGER' then sal+800

elsesal + 500

END

=============================================

select ename, job, sal
涨前工资,

(

CASE job when 'PRESIDENT' then sal+1000

when'MANAGER' then sal+800

elsesal + 500

END

)

涨后工资

from emp

-----------------------------------------------------------------------------------------------------

结果:

ENAME      JOB         涨前工资  
涨后工资

------------------- ---------- ----------

SMITH      CLERK            800      
1300

ALLEN      SALESMAN        1600      
2100

WARD       SALESMAN        1250      
1750

JONES      MANAGER         2975      
3775

MARTIN     SALESMAN        1250      
1750

BLAKE      MANAGER         2850      
3650

CLARK      MANAGER         2450      
3250

SCOTT      ANALYST         3000      
3500

KING       PRESIDENT       5000      
6000

TURNER     SALESMAN        1500      
2000

ADAMS      CLERK           1100      
1600

JAMES      CLERK            950      
1450

FORD       ANALYST         3000      
3500

MILLER     CLERK           1300      
1800

已选择14行。

B  
另外一种方法

===================================================

语法:

DECODE(col|expression, search1, result1

[, search2, result2,...,]

[, default])

==================================================

转化:

decode(job, 'PRESIDENT', sal+10000, 'MANAGER', sal+800, sal+500)

===================================================

select ename, job, sal
涨前工资,

(

decode(job, 'PRESIDENT', sal+10000,'MANAGER', sal+800, sal+500)

)

涨后工资

from emp;

5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)的更多相关文章

  1. JS 数据类型转换-转换函数、强制类型转换、利用js变量弱类型转换

    1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型 ...

  2. Linux常用C函数---字符串转换篇

    函数讲解部分参考http://net.pku.edu.cn/~yhf/linux_c/ atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表 ...

  3. Eclipse-运行符-数据类型转换-环境变量配置

    1.能够使用Eclipse快捷键 ctrl + /   单行注释:再按一次则取消: ctrl + shift + /  多行注释:  ctrl + shift + \  取消多行注释: ctrl + ...

  4. MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)

    # 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...

  5. C语言 自定义函数按行读入文件

    在之前的博客中 https://www.cnblogs.com/mmtinfo/p/13036039.html 读取一行的getline()函数是GNU 的扩展函数. 这里用自定义函数实现这个功能,从 ...

  6. Oracle之单行函数(字符串函数/数字函数/转换函数/日期函数/通用函数)

    虚拟表DUAL介绍: dual是一张虚拟表,只有一行一列,用来构成select的语法规则. Oracle的查询中,必须使用"select 列- from 表"的完整语法,当查询单行 ...

  7. js使用split函数按照多个字符对字符串进行分割的方法

    这篇文章主要介绍了js使用split函数按照多个字符对字符串进行分割的方法,实例分析了split函数的使用技巧,非常具有实用价值,需要的朋友可以参考下   本文实例讲述了js使用split函数按照多个 ...

  8. ReportingService 通过RowNumber函数获取行号和生成隔行变色样式

    以前一直没有搞明白SSRS里面的RowNumber函数到底该怎么用,所以一直没有很好的办法在SSRS中的表格上实现隔行变色的样式,实现隔行变色的关键就是获取表格中每一行的行号.在最近了解了下这个函数, ...

  9. MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用

    在统计查询中,经常会用到count函数,这里是基础的 MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用 -- 创建表 CREATE TABLE `tb ...

随机推荐

  1. C#_会员管理系统:开发三(修改密码)

    为以后多个功能界面考虑,新增一个主界面: 主界面如下: 主界面(VIPMain.cs)详细代码如下: using System; using System.Collections.Generic; u ...

  2. 面向对象程序设计-C++ Operator Overloading & Type conversion (Static)【第十一次上课笔记】

    本次上课继续讲解了 [ ] .-> 等运算符重载的具体例子 也讲解了C++单个参数的类的类型转换的案例 最后稍微提到了 static 的第三种作用:静态数据成员 具体详解我都已注释出来了,大家可 ...

  3. CodeForces 294B Shaass and Bookshelf 【规律 & 模拟】或【Dp】

    这道题目的意思就是排两排书,下面这排只能竖着放,上面这排可以平着放,使得宽度最小 根据题意可以得出一个结论,放上这排书的Width 肯定会遵照从小到大的顺序放上去的 Because the total ...

  4. C#实现时间戳转化

    /// <summary> /// 时间戳转为C#格式时间 /// </summary> /// <param name=”timeStamp”></para ...

  5. 如何用vs查看结构体布局

    今天遇到一个问题: 假设在每个系统的structA 结构不同,我们在windbg看了以后直接拿来用,自己定义成结构体,如何来验证这个结构体内存布局是否和windbg一致. 当然笨办法是自己一个个成员数 ...

  6. PHP urlencode()和rawurlencode()使用和区别

    string urlencode ( string $str ) 此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页. 返回值 返回字符串,此字符串中除了 -_. 之 ...

  7. windows无效字符名导致的错误及解决办法

    今天用file_put_content($fileName,$data)产生错误:内容如下: Warning: file_put_contents(images/7d5636992a7395f9174 ...

  8. C++ pair 使用方法

    类模板:template <class T1, class T2> struct pair 參数:T1是第一个值的数据类型,T2是第二个值的数据类型. 功能:pair将一对值组合成一个值, ...

  9. swift 关于 toolbar 学习笔记

    import UIKit class ViewController: UIViewController { @IBOutlet weak var toolBar: UIToolbar! @IBOutl ...

  10. MVC 向页面传值方式总结

    总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通View页面传一个Model对象 向强类型页面传传 ...