常用的数据库函数_数据库中自定义函数

常用的数据库函数_数据库中自定义函数1.COALESCE();很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用。返回其参数中第一个非空表达式语法:COALESCE(expression[,…n])如果所有参数均为NULL,则COALESCE返回NULL。至少应有一个Null…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1.COALESCE();

很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用。

返回其参数中第一个非空表达式 

语法: 

COALESCE ( expression [ ,...n ] ) 

如果所有参数均为 NULL,则 COALESCE 返回 NULL。至少应有一个 Null 值为 NULL 类型。尽管 ISNULL 等同于 COALESCE,但它们的行为是不同的。包含具有非空参数的 ISNULL 的表达式将视为 NOT NULL,而包含具有非空参数的 COALESCE 的表达式将视为 NULL 下面我们来看一个例子: 
expression [ ,...n ] ) 

如果所有参数均为 NULL,则 COALESCE 返回 NULL。至少应有一个 Null 值为 NULL 类型。尽管 ISNULL 等同于 COALESCE,但它们的行为是不同的。包含具有非空参数的 ISNULL 的表达式将视为 NOT NULL,而包含具有非空参数的 COALESCE 的表达式将视为 NULL

下面我们来看一个例子:

Jetbrains全家桶1年46,售后保障稳定

SELECT COALESCE(NULL,NULL,NOW()) TIME;

结果如下:

常用的数据库函数_数据库中自定义函数

第一第二个值都为null,则返回第三个不为null的值返回当前时间;

2.DECODE();

用法1: 
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

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

用法2:

decode(字段或字段的运算,值1,值2,值3)

 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
 当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多

其实它的用法和case when then else end 有点像,但是语法更简洁;

下面再给大家举个例子:

person表中有如下数据

常用的数据库函数_数据库中自定义函数

SQL:

SELECT NAME,DECODE(sex,1,"男",2,"女","太监") FROM person;
结果想必就不用我说了吧。

有一点需要大家注意的是MySQL的docode函数用法和oracle有所不同,这里就不一一赘述了…

3.SUBSTRING();

SUBSTRING ( expression, start, length ) 

参数 
expression 
字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。 

start 
整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置,索引是从1开始。 

length 
整数或可以隐式转换为 int 的表达式,指定子字符串的长度。经测试,暂且发现只能是非负数。

返回值

1.如果 expression 是一种支持的二进制数据类型,则返回二进制数据,这种情况我们暂且不讨论。
2.如果 expression 是一种支持的字符数据类型,则返回字符数据。

(1)如果 start的索引是从1开始,则从表达式的第一个字符开始进行字符串截取,从2开始就从表达式的第二个字符开始截取,以此类推。

例如:

 select SUBSTRING(‘abcde’,1,2) 返回结果 ab

 select SUBSTRING(‘abcde’,2,3) 返回结果 bcd

 select SUBSTRING(‘abcde’,1,0) 返回结果为空

 select SUBSTRING(‘abcde’,0,8) 返回结果为abcde,注意后面没有空格了。

(2) 如果start的索引是从小于1(0或负数)开始,则返回长度等于从1开始,截取长度为 length – ((start – 1)的绝对值), 如果这个差为负数就返回空

画个图理解这种情况(比如SUBSTRING(‘abcde’,0,2)返回a):

坐标:0       1         2     3     4    5
内容:空      a                b         c     d      e
截取:从此截取        截取到这里结束

4.ROUND();

ROUND ( numeric_e-xpression , length [ , function ] )

这个比较简单,举个例子相信大家就能明白:

SELECT ROUND(12.111,2);

 

常用的数据库函数_数据库中自定义函数

SELECT ROUND(12.111,1);

常用的数据库函数_数据库中自定义函数

好的,今天的学习到此结束。。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210757.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql字符串截取函数_excel 截取部分字符

    mysql字符串截取函数_excel 截取部分字符MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。  1. 字符串截取:left(str, length)  mysql> select left(‘sqls

    2022年10月2日
    3
  • linux smartctl 命令,使用smartctl命令检查磁盘

    linux smartctl 命令,使用smartctl命令检查磁盘使用smartctl命令检查磁盘在TS过程中会碰到很多磁盘异常出现影响系统数据或者生产数据的情况,但是有时候无法判断磁盘出现问题是由于磁盘物理损坏还是磁盘SATA口接触不良导致,这个时候smartctl命令就可以很容易判断出磁盘是否存在物理损坏问题,并且及时作出预警。使用smartctl进行SMART测试所有现代硬盘都可通过SMART属性监视其当前状态。这些值提供有关硬盘各种参数的信息,并可提供有…

    2022年6月16日
    42
  • SAP HANA中创建与时间相关的数据及Time Attribute View(Fiscal)

    SAP HANA中创建与时间相关的数据及Time Attribute View(Fiscal)

    2021年8月23日
    84
  • 修改asmx样式

    修改asmx样式今天看到一张图,asmx的WebService。长这样:当时就感觉有意思,这个页面风格和我们平时的不一样,我们平时的WebService长这样:我们如果在WebMetohd上面加注释,即[WebMethod(Description=”注释”)],那么长这样:那么问题就来了,第一张图里面的样式是如何实现的呢?在浏览器上进入调试模式观察,可以发现它的html和我们的有点不…

    2022年4月29日
    40
  • 域名与优化之间的联系[通俗易懂]

    域名与优化之间的联系[通俗易懂]什么域名有利于网站优化?域名与网站优化有什么的关系?域名与网站优化有关系吗?很多人不知道域名的好坏其实与网站优化也是有着联系的,什么样的域名对于网站优化有好处呢?今天这篇文章外链代发SEO就来给各位介绍一下关于域名与网站优化的关系。可能有的新站长对于域名与网站优化之间的关系不是很清楚,其实域名的挑选对网站企业的发展有着重要的影响和含义,一个好的域名不只使网民简单记,并且对企业的品牌宣扬有着非常重…

    2022年5月17日
    58
  • 大数据开发工程师需要具备哪些技能?[通俗易懂]

    目录:1.典型需求2.40K以上专家必备技能3.项目中的迷宫场景部件制作4.Hadoop生态核心原理一、典型需求(互联网公司)二、40K以上专家必备技能三、大数从业者角色分类四、Hadoop生态核心原理1.大数据整体画像 数据流程 数据技术 2.大数据平台整体画像 大数据平台逻辑划…

    2022年4月16日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号