单行函数

①.字符函数

LOWER(x):将x中的每一个单词都转换成小写

UPPER(x):将x中的每一个单词都转换成大写

INITCAP(x): 将x中的每一个单词的首字母转换成大写

CONCAT(x,y):用于将y加入到x之后,与||功能一样

SUBSTR(x,start[,length]):  用于从x中取得从start位置開始的一个子字符串,

   可选參数length:指定子字符串的长度,若未给定,一直取到字符串的最后

LENGTH(x):返回x中字符的个数

INSTR(x,find_string[,start][,occurence]):在x中查找find_string,返回find_string所在的位置,

   可选參数start:说明从x中的哪个位置開始查找,第一个位置为1.

   可选參数occurence:说明应该返回find_string第几次出现的位置

LPAD(x, width [,pad_string]):用于将x的左边补齐空格,使总长度达到width个字符

   可选參数pad_string:若给定,就将x的左边补齐pad_string字符

RPAD(x,width[,pad_string]):用于将x的右边补齐空格,使总长度达到width个字符

   可选參数pad_string:若给定。就将x的右边补齐pad_string字符

TRIM(x[,trim_string]):用于从x的左右两边截去一些空格

   可选參数trim_string:若给定。则从x的左右两边截去一些trim_string字符

REPLACE(x,search_string,repalce_string):用于在x中查找search_string,并将其替换为replace_string

②数字函数

四舍五入:ROUND(x[,y])用于计算对x取整结果

   可选參数y:说明对第几位小数取整。假设没有指定y,则对x在0位小数处取整

   假设y为负数。则对x在小数点的左边的第|y|位处取整

截断:TRUNC(x[,y])用于计算对x截断的结果

   可选參数y:说明对第几位小数截断,假设没有指定y,则对x在0位小数处截断

   假设y是负数,则对x在小数点的左边的第|y|位处截断

求余:MOD(x,y):用于计算x除以y所得的余数

③日期函数

MONTHS_BETWEEN(date1,date2):两个日期相差的月数

ADD_MONTHS(date1,addMonth):向指定日期中加上若干月数

NEXT_DAY(date1,'星期一'):返回下一个星期一的日期

LAST_DAY(date1):本月的最后一天

ROUND(date1,'year'):把date1按年四舍五入,month、day、hh、mi各自是按月、日、时、分,进行四舍五入

TRUNC(date,'month'):把date1按年截断。month、day、hh、mi各自是按月、日、时、分。进行截断

④转换函数

TO_CHAR(date, 'format_model'):按format_model格式,格式化date:"yyyy-mm-dd HH24:MI:SS",返回一个字符串

TO_CHAR(number, 'format_model'):按format_model格式,格式化number:"$99,999.99",返回一个字符串

TO_DATE(char[, 'format_model']):使用 TO_DATE 函数将字符按format_model格式转换成日期:"yyyy-mm-dd HH24:MI:SS"

TO_NUMBER(char[, 'format_model']):使用 TO_NUMBER 函数将字符按format_model格式转换成数字:"$99,999.99"

⑤通用函数:这些函数适用于不论什么数据类型,同一时候也适用于空值

NVL (expr1, expr2):假设expr1为null,则返回expr2,若不为null,则返回expr1

NVL2 (expr1, expr2, expr3)假设expr1不为null。则返回expr2,若为null。则返回expr3

NULLIF (expr1, expr2):expr1与expr2相等返回NULL,不等返回expr1

COALESCE (expr1, expr2, ..., exprn):依次參考各參数表达式。遇到非null值即停止并返回该值。

假设全部的表达式都是空值,终于将返回一个空值。使用COALESCE在于大部分包括空值的表达式终于将返回空值。

⑥条件表达式

1)CASE 表达式

case..when..then..

Case表达式。是能够在sql中使用if ..then..else的逻辑推断,而避免使用PL/SQL的有效方法。

在sql中主要有两种:简单case和搜索case,在plsql中还有两种case 语句,与decode 类似。(有一定的差别)

简单的case:

语法:case exp when comexp then returnvalue

            ..when comexp then returnvalue

              Else  Returnvalue

              End

使用规则case简单介绍。

Case到end之间相当于一个详细的值,能够做运算,取别名,嵌套case 等等。仅仅要把case到end当作一个运算结果的表达式就能够了。

《注意,中间一直到end 都没有其它标点符号》

搜索case:

SELECT cust_last_name,

CASE credit_limit WHEN 100 THEN ’Low’

           WHEN 5000 THEN ’High’

                  ELSE ’Medium’

    END

FROM customers;

搜索case样例

select case when id between 1 and 10 then 'low'

when id between 20 and 30 then 'mid'

when id between 40 and 50 then 'high'

else 'unknow'

end

from product;

update emp set

salary=

case when salary<2000 then salary*1.1

when salary between 2000 and 4000 then salary*1.05

when salary>4000 then salary*1.04

else

null

end;

select case when name like '全球%' then 'true'

when name like '神州行' then 'false'

else 'mm'

end

from trademark;

比較操作。能够使用like,between … and ..,!=,<,>=等操作符以及其它返回boolean类型的操作符。

简单case和searched case之间的差别:

1. 简单case仅仅能是when后面的表达式全然匹配case后的表达式,相当于 =,所以也不能匹配null。

2. searched case能够作为比較条件,那么能够使用like,!=,between ..and,<,=,is null,is not null等,比简单case的使用更加广泛。全然能够替代简单case。

2)DECODE 函数

DECODE 中的if-then-else逻辑

在逻辑编程中,经经常使用到If – Then –Else 进行逻辑推断。在DECODE的语法中,实际上就是这种逻辑处理过程。

它的语法例如以下:

DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )

Value 代表某个表的不论什么类型的随意列或一个通过计算所得的不论什么结果。

当每一个value值被測试。假设value的值为if1,Decode 函数的结果是then1;

假设value等于if2,Decode函数结果是then2。等等。

其实,能够给出多个if/then 配对。

假设value结果不等于给出的不论什么配对时。Decode 结果就返回else 。

须要注意的是,这里的if、then及else 都能够是函数或计算表达式。

⑦嵌套函数

F3(F2(F1(col,arg1),arg2),arg3)

单行函数能够嵌套。

嵌套函数的运行顺序是由内到外

oracle之单行函数的更多相关文章

  1. Oracle常用单行函数(原创)

    前言: 想把单行函数进行一个比较全面的总结,并分享给有需要的人,有不明之处还请多多指教. SQL函数:Oracle的内置函数,包括了单行函数和多行函数,本文重点讲解单行函数.单行函数又可以分为许多类, ...

  2. ORACLE SQL单行函数(三)【weber出品必属精品】

    16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...

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

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

  4. [02] Oracle简单单行函数(字符+数值+日期+转换+通用)

    1. 字符函数 --upper(str), lower(str):将str转换成大,小写 select upper('hello') as x1, lower('HELlo') as x2 from ...

  5. ORACLE SQL单行函数(一)【weber出品必属精品】

    1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数 ...

  6. ORACLE SQL单行函数(二)【weber出品必属精品】

    11.dual:虚表,任何用户都可以使用,表结构如下: SQL> desc dual Name Null? Type -------------------------------------- ...

  7. Oracle单行函数笔记

    Oracle中单行函数的分类:1.字符函数substr():字符串截取select substr('我爱你,你知道么?',0,4) from dual执行结果:我爱你,length函数:字符串长度se ...

  8. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  9. Oracle 单行函数

    一.什么是函数 任何东西,只要它能接收输入,对输入进行加工并产生输出,它就可以被称为函数. 二.单行函数简介 单行函数只对表中的一行数据进行操作,并且对每一行数据只产生一个输出结果.单行函数可以接受一 ...

随机推荐

  1. POJ (线段相交 最短路) The Doors

    题意: 一个正方形中有n道竖直的墙,每道墙上开两个门.求从左边中点走到右边中点的最短距离. 分析: 以起点终点和每个门的两个端点建图,如果两个点可以直接相连(即不会被墙挡住),则权值为两点间的欧几里得 ...

  2. vijos1067守望者的逃离

    裸的矩阵乘法,我却调了一上午……弱到爆啊…… 不过最终辛苦没有白费,我终于彻底搞懂了 要注意几点: 一.必须构造出前几项 二.用矩阵乘法算法之后还要手工算答案,利用首先算好的前几项 三.想好自己构造的 ...

  3. 【Java基础之容器】Iterator

    Iterator: ->所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象 ->Iterator对象称作迭代器,用以方便的实 ...

  4. 从linux启动到rootfs的挂载分析

    简单的来说,根文件系统包括虚拟根文件系统和真实根文件系统.在Kernel启动的初始阶段,首先去创建虚拟的根文件系统,接下来再去调用do_mount来加载真正的文件系统,并将根文件系统切换到真正的文件系 ...

  5. 有关SQL

    1.SQL str函数是什么意思? 将数值型转换成指定长度的字符串.str()函数语法:str(数字类型的表达式[,表达式总长度][,小数点后面的位数]),表达式总长度和小数点后面的位数为可选择参数. ...

  6. C# 中的 ref 和 out 的意义和使用方法

    原文C# 中的 ref 和 out 的意义和使用方法 向方法传递一个实参时,对应的形参会用实参的一个副本来初始化,不管形参是值类型(例如 int),可空类型(int?),还是引用类型,这一点都是成立的 ...

  7. Codeforces 629C Famil Door and Brackets DP

    题意:给你一个由括号组成的字符串,长度为m,现在希望获得一个长度为n(全由括号组成)的字符串,0<=n-m<=2000 这个长度为n的字符串要求有两个性质:1:就是任意前缀,左括号数量大于 ...

  8. Oracle学习网址

    Oracle Error Search: http://www.ora-error.com/ Oracle Database Error Message - Oracle Documentation: ...

  9. KMP算法详解 --从july那学的

    KMP代码: int KmpSearch(char* s, char* p) { ; ; int sLen = strlen(s); int pLen = strlen(p); while (i &l ...

  10. 45种Javascript技巧大全(转)

      6.小心使用typeof.instanceof和constructor typeof:不要忘了typeof null返回object,而大多数对象,typeof(Array, Date, and ...