1.decode ()

   例子:它的写法如下decode('a','b','c','d'),其中a,b,c,d可以是其他函数也可以是数值,依据我们自己的情况来使用,它的含义是如果a=b,那么结果显示c,否则d。

翻译成我们更通俗易懂的话就是:

if(sex=1)

then return '男'

else

return ‘女’

decode(sex,1,'男','女‘’)

  用法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value 等于if1时,DECODE函数的结         果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看           到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。 

 

该函数的含义如下:
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ......
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF

该函数的含义如下:
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ......
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF

2.case ()

用法:case when 'a' then 'b' else 'c' end

例子1:case when sex=1

then '男'

else '女'

end

例子2:

CASE WHEN sex=1

THEN (case when age>=18

then '成年男人'

else ‘未成年男孩’

end)

ELSE (case when age>=18

then '成年女人'

else '未成年女孩'

3.concat(a,b)

用法:拼接字符串

例子:concat(a,’%’)给a加上%号

连接多个字符串用||

select title,concat(round((retail-cost)/cost*100),'%') from Tbl_Books;

select Category || ' - '  || Title as 图书类别 from tbl_books;

4.round(a,b)截取数字

格式如下:ROUND(number[,decimals])
其中:number
待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。对截取的数字要四舍五入。

例子:select title,concat(round((retail-cost)/cost*100),'%') from Tbl_Books;

5.ceil(n)和floor(n)

  ceil(n) 取大于等于数值n的最小整数;

  例子:select title,ceil(cost) from Tbl_Books;

  floor(n)取小于等于数值n的最大整数;

   6.trunc函数处理数字  

trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。

其具体的语法格式如下

TRUNC(number[,decimals])

其中:

number 待做截取处理的数值

decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。

例子:select title,cost,retail,trunc(cost),trunc(retail) from Tbl_Books;

7.lpad( string, padded_length, [ pad_string ] )  

  string

  准备被填充的字符串;

  padded_length

  填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad         函数将会把字符串截取成从左到右的n个字符;

  pad_string         

  填充字符串,是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会           在string的左边粘贴空格。

例子:select lpad(Customer_name || '/' || address || '/' || city,80) as 顾客信息 from Tbl_Customer;

8.substr(字符串,截取开始位置,截取长度) //返回截取的字;

  例子:select substr(Name,0,4) as 出版社,substr(Contact,0,1) as 姓 from Tbl_Publisher;

  9.replace()

含义为:替换字符串

replace(原字段,“原字段旧内容“,“原字段新内容“,)

select customer_name, replace(city,'上海','ShangHai') as city from Tbl_Customer;

10.NULLIF ( expression1 expression2 )

常量、列名、函数、子查询算术运算符、按位运算符以及字符串运算符的任意组合。

返回类型与第一个 expression1 相同。

输出结果:

如果两个表达式不相等,NULLIF 返回第一个 expression1 的值。

如果两个表达式相等,NULLIF 返回空值NULL。

常量、列名、函数、子查询算术运算符、按位运算符以及字符串运算符的任意组合。

返回类型与第一个 expression1 相同。

输出结果:

如果两个表达式不相等,NULLIF 返回第一个 expression1 的值。

如果两个表达式相等,NULLIF 返回空值NULL。

例子:select Customer_name ,nullif(nullif(City,'北京'),'上海') from tbl_customer;

11.Posstr(a,b)返回b在a中的位置

例子:select posstr(title,'子') from Tbl_Books;

最新文章

  1. SQLite 批量insert - 如何加速SQLite的插入操作
  2. myeclipse-建立webservice服务端和客户端
  3. linux 下如何查看和踢除正在登陆的其它用户 ==>Linux下用于查看系统当前登录用户信息的4种方法
  4. 单例模式在Java和C#中的实现
  5. ref和out的区别?
  6. 修改eclipse默认编码方式
  7. Cadence 电源完整性仿真实践(一)
  8. poj2752Seek the Name, Seek the Fame
  9. python命令行解析工具argparse模块【4】
  10. asp.net 如何引用dll
  11. VS2013使用EF与mysql数据库.
  12. node项目的基本构建流程或者打开一个node项目的流程
  13. 201521123036 《Java程序设计》第12周学习总结
  14. PHP上传大文件配置
  15. Linux 服务器中木马及木马清除
  16. django restframework Serializers
  17. 【图像处理基础】LBP特征
  18. 自己写一个spring boot starter
  19. developer roadmap
  20. SAPI

热门文章

  1. Html5 填表 表单(二) input type 各种输入, 各种用户选择,上传等等泛输入用户交互
  2. 已有Web项目添加Maven支持
  3. javascript实现数据结构: 树和森林
  4. 利用Vagrant完成开发环境配置
  5. springboot整合fastdfs实现上传和下载
  6. 基于bootstrap的模态框的comfirm弹窗
  7. 集合、深浅copy
  8. Git小抄
  9. Python简介及编码
  10. EF学习之CodeFirst(一)--创建Model