第6章 函数

第6章 函数

在SQL中,提供了几种常用类型的函数,包括字符串处理函数、数学运算函数、日期时间处理函数以及聚合函数等。本章将分别介绍这几种函数的用法。

6.1 字符串函数
在SQL中,提供了许多用于字符处理的函数,可以使用这些函数实现诸如字符提取、ASCII码与常规字符的转换、去除空格等功能。本节将对一些常用的字符处理函数进行简单介绍。

6.1.1 返回字符串中最左侧字符的ASCII函数—ASCII
ASCII函数用于返回字符表达式最左端字符的ASCII代码值,该函数返回的数据类型为Int数据类型。
【语法说明】
ASCII函数的语法格式如下所示。

ASCII (character_expression)

代码中的character_expression参数是为char或 varchar类型的表达式。
【上机实战】
使用ASCII函数获得字符“a”、“A”、“0”和字符“aPPLE”的ASCII返回值,其实现的代码如下所示。

SELECT ASCII('a'),
       ASCII('A'),
       ASCII('0'),
       ASCII('aPPLE')
       FROM DUAL

代码执行以后,其执行结果如图6.1所示。
在这里插入图片描述
图6.1 使用ASCII函数获取字符的ASCII返回值

说明:DUAL数据表是Oracle数据库中的数据表。

下面再来讲解一个ASCII函数的使用实例。
使用ASCII函数返回图书信息表(T_BOOKINFO)中,图书名称(T_NAME)字段最左端字符的ASCII代码值,并且查询T_BOOKINFO数据表中的图书名称(T_NAME)字段信息,其实现的代码如下所示。

SELECT ASCII(B_NAME),B_NAME 
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.2所示。
在这里插入图片描述
图6.2 ASCII函数的使用
从图中可以看出,数据表中的字符“V”的ASCII返回值为“86”;字符“A”的ASCII返回值为“65”;字符“S”的ASCII返回值为“83”;字符“黑”的ASCII返回值为“47834”。

6.1.2 变换字符串函数—TRANSLATE
TRANSLATE函数返回第一个参数字符串,出现第二个参数字符串中字符的位置替换为第三个参数字符串中对应位置的字符。
【语法说明】

TRANSLATE(string,from_str,to_str)

有个TRANSLATE函数的使用说明如下。

  • TRANSLATE函数返回将(所有出现的)from_str中的每个字符,替换为to_str中的相应字符以后的string。
  • 如果from_str比to_str长,那么在from_str中而不在to_str中的额外字符将从string中被删除,因为它们没有相应的替换字符。
  • to_str不能为空。
  • 在Oracle数据库中将空字符串解释为NULL,并且如果TRANSLATE 中的任何参数为NULL,那么结果也是 NULL。

【上机实战】
使用TRANSLATE函数将字符串“abcdefghijk”中的子字符串“bcdefg”,替换成字符串“123456”,其实现的代码如下所示。

select translate('abcdefghijk','bcdefg','123456') 
from dual

代码执行以后,其执行结果如图6.3所示。
在这里插入图片描述
图6.3 使用TRANSLATE函数替换字符串

从上图可以看出,字符串“abcdefghijk”中的子字符串“bcdefg”被替换成了“123456”字符串。
下面再讲解一个TRANSLATE函数的应用示例。
使用TRANSLATE函数将字符串“HELLO WORD”中的子字符串“WORD”,替换成字符串“1234”,其实现的代码如下所示。

SELECT TRANSLATE('HELLO WORD','WORD','1234') 
FROM dual

代码执行以后,其执行结果如图6.4所示。
在这里插入图片描述
图6.4 使用TRANSLATE函数替换字符串

从图中可以看出,字符串“HELLO WORD”中的“W”字符被替换成了“1”;“O”字符被替换成了“2”; “R”字符被替换成了“3”;“D”字符被替换成了“4”。
下面我们再来看一个实际应用中的示例。
查询图书信息表(T_BOOKINFO)中图书名称(T_NAME)字段和出版社(B_PUBLISH)字段信息,同时将“远方出版社”替换成“机械出版社”,并且将其替换结果显示出来,其实现的代码如下所示。

SELECT B_NAME, B_PUBLISH ,TRANSLATE(B_PUBLISH,'远方','机械')
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.5所示。
在这里插入图片描述
图6.5 使用TRANSLATE函数替换字符串

6.1.3 用指定值替代NULL值函数—COALESCE
使用COALESCE函数可以实现用指定的值替代NULL值。
【语法说明】

COALESCE (expression_1, expression_2, ...,expression_n)

列表中第一个非空的表达式是函数的返回值,如果所有的表达式都是空值,最终将返回一个空值。
使用COALESCE的秘密在于大部分包含空值的表达式最终将返回空值(连接操作符“||”是一个值得注意的例外)。例如,空值加任何值都是空值,空值乘任何值也都是空值,依此类推。 可以构建一系列表达式,每个表达式的结果是空值或非空,这就像一个CASE语句,表达式按照顺序进行测试,第一个满足条件的值就确定了结果。
【上机实战】
在T_B_INFOS数据表中实现这样的操作,查询图书名称(TNAME)字段信息和图书作者(TAUTHOR)信息,并且使用COALESCE函数将图书作者为空的数据信息用图书名称信息来填充,其实现的代码如下所示。

SELECT TNAME,COALESCE(TAUTHOR,TNAME),TAUTHOR 
FROM T_B_INFOS

代码执行以后,其执行结果如图6.6所示。
在这里插入图片描述
图6.6 COALESCE函数的使用示例

6.1.4 左填充函数—LPAD
LPAD函数从左边对字符串使用指定的字符进行填充。从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思。
【语法说明】
LPAD函数的语法格式如下所示。

Lpad( string, padded_length, [ pad_string ] )

函数中的各个参数说明如下所示。

(1)string参数,准备被填充的字符串;
(2)padded_length参数,填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
(3)pad_string参数,填充字符串,该参数是可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。

【上机实战】
使用LPAD函数在“SQL”字符前填充“*”字符,使填充后的字符串长度为5,其实现的代码如下所示。

SELECT LPAD('SQL',5,'*') 
FROM DUAL

代码执行以后,其执行结果如图6.7所示。
在这里插入图片描述
图6.7 LPAD函数的应用示例
从上面的示例可以看出,由于需要填充的字符“SQL”本身占3个字符,填充之后的字符串长度为5,因此需要在“SQL”前面填充2个“*”字符。
我们再看一个示例。
使用LPAD函数在“SERVER”字符前填充“AB”字符,使填充后的字符串长度为10,其实现的代码如下所示。

SELECT LPAD('SERVER',10,'AB') 
FROM DUA

代码执行以后,其执行结果如图6.8所示。
在这里插入图片描述
图6.8 LPAD函数的应用示例
从上面的示例可以看出,由于需要填充的字符“SERVER”本身占6个字符,填充之后的字符串长度为10,因此需要在“SERVER”字符前面填充2个“AB”字符,填充的单个字符数为4。
我们再看一个实际应用的示例。
查询图书信息表(T_BOOKINFO)中图书名称(T_NAME)字段、出版社(B_PUBLISH)字段、出版日期(B_DATE)字段和图书价格(B_VALUE)字段信息,并且将图书价格信息前都填充“单价”字符,其实现的代码如下所示。

SELECT B_NAME,B_PUBLISH,B_DATE,LPAD(B_VALUE,6,'单价') 
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.9所示。
在这里插入图片描述
图6.9 LPAD函数的应用示例

说明:由于一个汉字占2个字符,因此字符串“单价”占用4个字符的空间。

6.1.5 右填充函数–RPAD
RPAD函数与LPAD函数相对应,RPAD函数从右边对字符串使用指定的字符进行填充。
【语法说明】
RPAD函数的语法格式如下所示。

Rpad( string, padded_length, [ pad_string ] )

函数中的各个参数说明如下所示。

(1)string参数,准备被填充的字符串;
(2)padded_length参数,填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,RPAD函数将会把字符串截取成从左到右的n个字符;
(3)pad_string参数,填充字符串,该参数是可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,RPAD函数将会在string的右边粘贴空格。

【上机实战】
使用RPAD函数在“SQL”字符后填充“*”字符,使填充后的字符串长度为5,其实现的代码如下所示。

SELECT RPAD('SQL',5,'*') 
FROM DUAL

代码执行以后,其执行结果如图6.10所示。
在这里插入图片描述
图6.10 RPAD函数的应用示例
从上面的示例可以看出,由于需要填充的字符“SQL”本身占3个字符,填充之后的字符串长度为5,因此在“SQL”后面需要填充2个“*”字符。
我们再看一个示例。
使用RPAD函数在“SERVER”字符后填充“AB”字符,使填充后的字符串长度为10,其实现的代码如下所示。

SELECT RPAD('SERVER',10,'AB') 
FROM DUAL

代码执行以后,其执行结果如图6.11所示。
在这里插入图片描述
图6.11 RPAD函数的应用示例
从上面的示例可以看出,由于需要填充的字符“SERVER”本身占6个字符,填充之后的字符串长度为10,因此需要在“SERVER”字符后面填充2个“AB”字符,填充的单个字符数为4。
我们再看一个实际应用的示例。
查询图书信息表(T_BOOKINFO)中图书名称(T_NAME)字段、出版社(B_PUBLISH)字段、出版日期(B_DATE)字段和图书价格(B_VALUE)字段信息,并且将图书价格信息后都填充“元”字符,其实现的代码如下所示。

SELECT B_NAME,B_PUBLISH,B_DATE,RPAD(B_VALUE,4,'元') 
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.12所示。
在这里插入图片描述
图6.12 RPAD函数的应用示例

6.1.6 查找字符串所在的位置函数—INSTR
INSTR函数返回指定一字符串在另一字符串中最先出现的位置。
【语法说明】
INSTR函数的语法格式如下所示。

InStr([start, ]string1, string2[, compare])

上述函数表达式表示的是,在字符串string1中,从start位置开始找string2,省略start时则从string1头开始找。找不到时,函数值为0。

函数中的各个参数说明如下所示。
(1)start参数,该参数为可选参数,是一个数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。
(2)string1参数,必要参数。接受搜索的字符串表达式。
(3)string2参数,必要参数。被搜索的字符串表达式。
(4)Compare参数,可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。

说明:INSTR函数的返回值为0、1、2、-1。

【上机实战】
使用INSTR函数在“ABCDEFG”中查找字符串“CD”的位置,其实现的代码如下所示。

SELECT INSTR('ABCDEFG','CD') 
FROM DUAL

代码执行以后,其执行结果如图6.13所示。
在这里插入图片描述
图6.13 INSTR函数的应用示例
从执行的结果可以看出,字符串“CD”在字符串“ABCDEFG”中的位置是3。
下面我们再看一个示例。
查询图书信息表(T_BOOKINFO)中图书名称(T_NAME)字段、出版社(B_PUBLISH)字段和出版日期(B_DATE)字段信息,并且将出版社信息中“出版社”字符的位置显示出来,其实现的代码如下所示。

SELECT B_NAME,B_PUBLISH,B_DATE,INSTR(B_PUBLISH,'出版社') 
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.14所示。
在这里插入图片描述
图6.14 INSTR函数的应用示例

6.1.7 获取字符串长度的函数—LENGTH
使用LENGTH函数可以获取指定字符串表达式的字符数(注意,不是字节数),其中不包含尾随的空格。
【语法说明】
LENGTH函数的语法格式如下所示。

LENGTH (strs)

语句中的“strs”参数表示获取长度信息的字符串。
【上机实战】
使用LENGTH函数获取字符串“SQL数据库”的长度,其实现的代码如下所示。

SELECT LENGTH('SQL数据库')
FROM DUAL

代码执行以后,其执行结果如图6.15所示。
在这里插入图片描述
图6.15 LENGTH函数的应用示例
从执行的结果中可以看出,字符串“SQL数据库”的长度为6。
我们再看一个与实际应用相关的示例。
查询图书信息表(T_BOOKINFO)中图书名称(T_NAME)字段、出版社(B_PUBLISH)字段和出版日期(B_DATE)字段信息,并且使用LENGTH函数将图书名称的字符个数显示出来,其实现的代码如下所示。

SELECT B_NAME,LENGTH(B_NAME),B_PUBLISH,B_DATE 
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.16所示。
在这里插入图片描述
图6.16 LENGTH函数的应用示例

6.1.8 转换小写字母函数—LOWER
LOWER函数用来将文本转换为小写。
【语法说明】
LOWER函数的语法格式如下所示。
LOWER(strs)
语句中的“strs”参数表示要转换文本的字符串。
【上机实战】
使用LOWER函数将字符串“abcdeFGHIJK”转换成小写字母的形式,其实现的代码如下所示。

SELECT LOWER('abcdeFGHIJK')
FROM DUAL

代码执行以后,其执行结果如图6.17所示。
在这里插入图片描述
图6.17 LOWER函数的应用示例

从执行的结果中可以看出,字符串中的大写字符被抓换成了小写字母的形式,字符串中原有的小写字母不变。
下面再看一个与实际应用相关的示例。
查询T_B_INFOS数据表中图书编号(TNO)字段、图书名称(TNAME)字段和出版社(TPUBLISH)字段信息,并且使用LOWER函数将图书名称中的大写字母字符全部转换成小写字母,其实现的代码如下所示。

SELECT TNO,TNAME,LOWER(TNAME),TPUBLISH
FROM T_B_INFOS

代码执行以后,其执行结果如图6.18所示。
在这里插入图片描述
图6.18 LOWER函数的应用示例

注意:LOWER函数只能将大写字符字符转换成小写字母字符,该函数针对小写字母字符和汉字字符无效。

6.1.9 转换大写字母函数—UPPER
与LOWER函数相对应,UPPER函数用来将文本转换为大写。
【语法说明】
UPPER函数的语法格式如下所示。

UPPER(strs)

语句中的“strs”参数表示要转换文本的字符串。
【上机实战】
使用UPPER函数将字符串“abcdeFGHIJK”转换成大写字母的形式,其实现的代码如下所示。

SELECT UPPER('abcdeFGHIJK')
FROM DUAL

代码执行以后,其执行结果如图6.19所示。
在这里插入图片描述
图6.19 UPPER函数的应用示例

从执行的结果中可以看出,字符串中的小写字符被抓换成了大写字母的形式,字符串中原有的大写字母不变。

下面再看一个与实际应用相关的示例。
查询T_B_INFOS数据表中图书编号(TNO)字段、图书名称(TNAME)字段和出版社(TPUBLISH)字段信息,并且使用LOWER函数将图书名称中的小写字母字符全部转换成大写字母,其实现的代码如下所示。

SELECT TNO,TNAME, UPPER(TNAME),TPUBLISH
FROM T_B_INFOS

代码执行以后,其执行结果如图6.20所示。
在这里插入图片描述
图6.20 UPPER函数的应用示例

注意:UPPER函数只能将小写字符字符转换成大写字母字符,该函数针对大写字母字符和汉字字符无效。

6.1.10 替换字符串函数—REPLACE
REPLACE函数将返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。
【语法说明】
REPLACE函数的语句格式如下所示。

Replace(expression, find, replacewith[, compare[, count[, start]]])

REPLACE函数中的各个参数说明如下所示。
(1)expression参数,必选参数。字符串表达式,包含要替换的子字符串。
(2)find参数,必选参数。被搜索的子字符串。
(3)replacewith参数,必选参数。用于替换的子字符串。
(4)start参数,可选参数。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。
(5)count参数,可选参数。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。
(6)compare参数,可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。

说明:Replace函数的返回值是经过替换(从由start指定的位置开始到expression字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。

【上机实战】
将手机号“13196025569”中的“9602”子字符串替换成“****”字符,其实现的代码如下所示。

SELECT REPLACE('13196025569','9602','****') 
FROM DUAL

代码执行以后,其执行结果如图6.21所示。
在这里插入图片描述
图6.21 REPLACE函数的应用示例
从上面的示例中可以看出,字符串“13196025569”中的“9602”子字符串被“***”字符所替换。
我们再看下面的示例。
将手机号“13196025569”中的“9602”子字符串替换成“
”字符,其实现的代码如下所示。

SELECT REPLACE('13196025569','9602','*') 
FROM DUAL

代码执行以后,其执行结果如图6.22所示。
在这里插入图片描述
图6.22 REPLACE函数的应用示例

从执行的结果中可以看出,字符串“13196025569”中的“9602”子字符串被“*”字符所替换,这说明替换与被替换的字符串不受字符个数的限制,在执行替换操作时,都被看做一个单一的字符来进行替换。
下面我们再看一个与实际应用相关的示例。
查询图书信息表(T_BOOKINFO)中图书名称(T_NAME)字段和出版社(B_PUBLISH)字段信息,同时将(B_PUBLISH)出版社字段中的“远方”字符替换成“希望”,并且将其替换结果显示出来,其实现的代码如下所示。

SELECT B_NAME, B_PUBLISH ,REPLACE(B_PUBLISH,'远方','希望')
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.23所示。
在这里插入图片描述
图6.23 使用REPLACE函数替换字符串

6.1.11 获取字符串子串函数–SUBSTR
SUBSTR函数可以从已有串中提取指定位置的字符串。
【语法说明】
SUBSTR函数的语法格式如下所示。

SUBSTR( expression,start,length )

其中,expression是字符串、二进制字符串、文本、图像、列或包含列的表达式,不能使用包含聚合函数的表达式;start为指定子字符串开始位置的整数;length为一个正整数,指定要返回的expression的字符数或字节数。如果length为负,则会返回错误。
【上机实战】
使用SUBSTR函数,从“SQL SERVER关系数据库查询”字符串的第11个位置起,连续截取5个字符,其实现的代码如下所示。

SELECT SUBSTR('SQL SERVER关系数据库查询',11,5)
FROM DUAL

代码执行以后,其执行结果如图6.24所示。
在这里插入图片描述
图6.24 SUBSTR函数的应用示例
如果省略截取长度参数,则将默认从截取字符串的位置开始,截取后面剩余的所有字符串,如下面的代码所示。

SELECT SUBSTR('SQL SERVER关系数据库查询',11)
FROM DUAL

代码执行以后,其执行结果如图6.25所示。
在这里插入图片描述
图6.25 省略截取长度参数的执行结果
如果要从字符串的第一个字符开始截取子字符串,则截取字符串开始位置的参数值是“0”,而不是“1”,如下面的代码所示。

SELECT SUBSTR('SQL SERVER关系数据库查询',0,5)
FROM DUAL

代码执行以后,其执行结果如图6.26所示。
在这里插入图片描述
图6.26 从第一个字符开始截取子字符串
我们再来看一个与实际应用相关的示例。
查询图书信息表(T_BOOKINFO)中图书名称(B_NAME)字段、出版社(B_PUBLISH)字段和作者(B_AUTHOR)字段信息,同时将图书作者的姓氏信息显示出来,其实现的代码如下所示。

SELECT B_NAME, B_PUBLISH ,B_AUTHOR,SUBSTR(B_AUTHOR,0,1)
FROM T_BOOKINFO

代码执行以后,其实现的结果如图6.27所示。
在这里插入图片描述
图6.27 SUBSTR函数的应用示例

6.1.12 从左去除字符串中的字符函数—LTRIM
使用LTRIM函数可以实现去除字符串前面的空格。
【语法说明】
LTRIM函数的语法结构如下所示。

RTRIM(string)

string参数是任意有效的字符串表达式。如果string参数中包含Null,则返回Null。
【上机实战】
使用LTRIM函数去除字符串“ SQL SERVER2008 ”前端的空格,其实现的代码如下所示。

SELECT LTRIM('   SQL SERVER2008     ') 
FROM DUAL

代码执行以后,其执行结果如图6.28所示。
在这里插入图片描述
图6.28 LTRIM函数的应用示例
从执行的结果可以看出,“ SQL SERVER2008 ”字符串前端的空格被去掉,但后端的空格没有被去掉。
我们再来看一个与实际应用相关的示例。
查询图书信息表(T_BOOKINFO)中图书名称(B_NAME)字段、出版社(B_PUBLISH)字段和作者(B_AUTHOR)字段信息,同时将图书名称字段信息中前端的空格去掉,并且将处理后的数据信息显示处理,其实现的代码如下所示。

SELECT B_NAME,LTRIM(B_NAME),B_PUBLISH ,B_AUTHOR
FROM T_BOOKINFO

代码执行以后,其实现的结果如图6.29所示。
在这里插入图片描述
图6.29 LTRIM函数的应用实例

6.1.13 从右去除字符串中的字符函数—RTRIM
使用RTRIM函数可以实现去除字符串后面的空格。
【语法说明】
RTRIM函数的语法结构如下所示。
RTRIM(string)
string参数是任意有效的字符串表达式。如果string参数中包含Null,则返回Null。
【上机实战】
使用RTRIM函数去除字符串“ SQL SERVER2008 ”后端的空格,其实现的代码如下所示。

SELECT RTRIM('   SQL SERVER2008     ') 
FROM DUAL

代码执行以后,其执行结果如图6.30所示。
在这里插入图片描述
图6.30 RTRIM函数的应用示例

从执行的结果可以看出,“ SQL SERVER2008 ”字符串后端的空格被去掉,但前端的空格没有被去掉。
我们再来看一个与实际应用相关的示例。
查询图书信息表(T_BOOKINFO)中图书名称(B_NAME)字段、出版社(B_PUBLISH)字段和作者(B_AUTHOR)字段信息,同时将图书名称字段信息中后端的空格去掉,并且将处理后的数据信息显示处理,其实现的代码如下所示。

SELECT B_NAME,RTRIM(B_NAME),B_PUBLISH ,B_AUTHOR
FROM T_BOOKINFO

代码执行以后,其实现的结果如图6.31所示。
在这里插入图片描述
图6.31 RTRIM函数的应用实例

6.1.14 组合字符串函数—CONCAT
CONCAT函数用于将多个字符串组合成一个字符串。
【语法说明】
CONCAT函数的语法说明如下所示。

CONCAT(str1,str2,…)

CONCAT函数返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式。
【上机实战】
使用CONCAT函数将字符串“SQL”与“数据库技术应用”字符串组合在一起进行显示,其实现的代码如下所示。

SELECT CONCAT('SQL','数据库技术应用')
FROM DUAL

代码执行以后,其执行结果如图6.32所示。
在这里插入图片描述
图6.32 CONCAT函数应用示例
我们再看下面的示例。
使用CONCAT函数将字符串“SQL”、字符串“SERVER”和字符串“数据库技术应用”组合在一起进行显示,其实现的代码如下所示。
查询图书信息表(T_BOOKINFO)中图书名称(B_NAME)字段和出版社(B_PUBLISH)字段信息,同时将图书名称字段信息和出版社信息组成在一起,并且将处理后的数据信息显示出来,其实现的代码如下所示。

SELECT B_NAME,B_PUBLISH,CONCAT(LTRIM(B_NAME),LTRIM(B_PUBLISH))
FROM T_BOOKINFO

代码执行以后,其执行结果如图6.33所示。
在这里插入图片描述
图6.33 CONCAT函数应用示例

6.1.15 判断是否为空函数—NULLIF
NULLIF函数用于比较两个表达式,如果两个表达式相等则返回空值,如果不等返回第一个值。
【语法说明】
NULLIF函数的语法结构如下所示。

NULLIF(expr1,expr2)

在上述表达式中,如果expr1和expr2表达式相等则返回空值,如果不等则返回expr1的值。
【上机实战】
使用NULLIF函数比较空字符串和“SQL”字符串,并且获取函数的返回值。

SELECT NULLIF('','SQL')
FROM DUAL

代码执行以后,其执行结果如图6.34所示。
在这里插入图片描述
图6.34 NULLIF函数应用示例
我们再看下面的示例。
使用NULLIF函数比较“SQL”字符串和“SERVER”字符串,并且获取函数的返回值。

SELECT NULLIF('SQL','SERVER')
FROM DUAL

代码执行以后,其执行结果如图6.35所示。
在这里插入图片描述
图6.35 NULLIF函数应用示例
我们再看一个与实际应用相关的示例。
查询T_B_INFOS数据表中的图书编号(TNO)字段和图书名称(TNAME)字段,并且使用NULLIF函数比较作者(TAUTHOR)字段和图书名称(TNAME)字段的返回值。为了便于比较,现将T_B_INFOS数据表中的数据信息显示出来,如下面的代码所示。

SELECT *
FROM T_B_INFOS

代码执行以后,其查询结果如图6.36所示。
在这里插入图片描述
图6.36 T_B_INFOS数据表中的数据信息
使用NULLIF函数比较作者(TAUTHOR)字段和图书名称(TNAME)字段的返回值,其实现的代码如下所示。

SELECT TNO,TNAME,NULLIF(TAUTHOR,TNAME)
FROM T_B_INFOS

代码执行以后,其执行结果如图6.37所示。
在这里插入图片描述
图6.37 NULLIF函数应用示例

6.2 日期函数
日期函数与其他函数—样,可以在SELECT语句和WHERE子句以及表达式中使用。本节中将讲解在SQL中,日期函数的使用方法。
6.2.1 获取当前日期的函数–CURRENT_DATE
CURRENT_DATE函数用于获取当前系统的日期和时间。
【语法说明】
CURRENT_DATE
【上机实战】
使用CURRENT_DATE函数获取当前系统的日期和时间,其实现的代码如下所示。

SELECT CURRENT_DATE
FROM DUA

代码执行以后,其执行结果如图6.38所示。
在这里插入图片描述
图6.38 CURRENT_DATE函数的应用示例

6.2.2 获取当前的日期和时间函数–CURRENT_TIMESTAMP、LOCALTIMESTAMP
本节中我们讲解一下CURRENT_TIMESTAMP函数和LOCALTIMESTAMP函数的使用方法。

  1. CURRENT_TIMESTAMP函数
    CURRENT_TIMESTAMP函数用于返回当前系统的日期和时间。
    【语法说明】
    CURRENT_TIMESTAMP函数的语法结构如下所示。

    CURRENT_TIMESTAMP

【上机实战】
使用CURRENT_TIMESTAMP函数获取当前系统的日期和时间,其实现的代码如下所示。

SELECT CURRENT_TIMESTAMP
FROM DUAL

代码执行以后,其执行的结果如图6.39所示。
在这里插入图片描述
图6.39 CURRENT_TIMESTAMP函数的应用示例

  1. LOCALTIMESTAMP函数
    LOCALTIMESTAMP函数用于返回当前系统的日期和时间。
    【语法说明】
    LOCALTIMESTAMP函数的语法结构如下所示。

    LOCALTIMESTAMP

【上机实战】
使用LOCALTIMESTAMP函数获取当前系统的日期和时间,其实现的代码如下所示。

SELECT LOCALTIMESTAMP
FROM DUAL

代码执行以后,其执行的结果如图6.40所示。
在这里插入图片描述
图6.40 LOCALTIMESTAMP函数的应用示例

6.3 数学函数
数学函数主要用于数学运算,在SQL中,常见的数学函数有取绝对值函数、余弦函数、求幂函数、四舍五入函数和求平方根等函数,本节中将与大家一起来学习一下与数学函数相关的一些内容。

6.3.1 取绝对值函数—ABS
ABS函数用于获取数学表达式的绝对值。
【语法说明】
ABS函数的语法结构如下所示。

ABS(expr)

函数中的expr参数是一个数学表达式,该表达式可以是正数,也可以是负数。
【上机实战】
使用ABS函数获取数值“-3.14”的绝对值,其实现的代码如下所示。

SELECT ABS(-3.14) 
FROM DUAL

代码执行以后,其执行结果如图6.41所示。
在这里插入图片描述
图6.41 ABS函数的应用示例
使用ABS函数可以获取数学表达式的绝对值,如下面的示例所示。
使用ABS函数获取数学表达式“10-9-6”的绝对值,其实现的代码如下所示。

SELECT ABS(10-9-6) 
FROM DUAL

代码执行以后,其执行结果如图6.42所示。
在这里插入图片描述
图6.42 ABS函数的应用示例
从执行的结果可以看出,数值表达式“10-9-6”的结果为-5,因此该表达式的绝对值为5。
下面再看一个与实际应用相关的示例。
查询员工信息表(T_EMPLOY)中的员工姓名(E_NAME)字段、部门(E_BM)字段和员工的月收入信息,并且显示月收入的绝对值,其实现的代码如下所示。

SELECT E_NAME,E_BM,E_GZ + E_JJ - E_KK,ABS(E_GZ + E_JJ - E_KK) 
FROM T_EMPLOY

代码执行以后,其执行结果如图6.43所示。
在这里插入图片描述
图6.43 ABS函数的应用示例

6.3.2 余弦函数—COS
COS函数用于获取数学表达式的余弦值。
【语法说明】
COS函数的语法结构如下所示。

COS(expr)

函数中的expr参数是一个数学表达式,该表达式可以是正数,也可以是负数。
【上机实战】
使用COS函数获取数值“10”的余弦值,其实现的代码如下所示。

SELECT COS(10) 
FROM DUAL

代码执行以后,其执行结果如图6.44所示。
在这里插入图片描述
图6.44 COS函数的应用示例

使用COS函数可以获取数学表达式的余弦值,如下面的示例所示。
使用COS函数获取数学表达式“10-9-6”的余弦值,其实现的代码如下所示。

SELECT COS(10-9-6)
FROM DUAL

代码执行以后,其执行结果如图6.45所示。
在这里插入图片描述
图6.45 COS函数的应用示例
下面再看一个与实际应用相关的示例。
为了实现员工收入的保密功能,现将员工的收入转换成余弦值显示出来,其实现的代码如下所示。

SELECT E_NAME,COS(E_GZ + E_JJ - E_KK) 
FROM T_EMPLOY

代码执行以后,其执行结果如图6.46所示。
在这里插入图片描述
图6.46 COS函数的应用示例

6.3.3 求幂函数—POWER
POWER函数是一个指数函数,POWER函数有两个参数num1和num2, POWER函数的结果是计算出num1的num2次方。学过数学都知道,指数函数和对数是相反的,随着指数不断变大,指数函数的值会变化加剧。
【语法说明】
POWER函数的语法结构如下所示。

power(num1,num2)

函数中的num1和num2参数是数学表达式,函数的返回结果是计算出num1的num2次方。
【上机实战】
使用POWER函数获取2的3次方的值,其实现的代码如下所示。

SELECT POWER(2,3) 
FROM DUAL

代码执行以后,其执行结果如图6.47所示。
在这里插入图片描述
图6.47 POWER函数的应用示例

使用POWER函数可以获取数学表达式的n次方值,如下面的示例所示。
使用POWER函数获取数学表达式“10-9-9”的“6-4”次方的值,其实现的代码如下所示。

SELECT POWER(10-9-9,6-4) 
FROM DUAL

代码执行以后,其执行结果如图6.48所示。
在这里插入图片描述
图6.48 POWER函数的应用示例

从执行的结果可以看出,“10-9-6”表达式的值是-8,“6-4”表达式的值是2,-8的2次方的值为64。
下面再看一个与实际应用相关的示例。
查询员工信息表(T_EMPLOY)中的员工姓名(E_NAME)字段、部门(E_BM)字段和员工月收入平方的数据信息,其实现的代码如下所示。

SELECT E_NAME,E_BM,POWER(E_GZ + E_JJ - E_KK,2) 
FROM T_EMPLOY

代码执行以后,其执行结果如图6.49所示。
在这里插入图片描述
图6.49 POWER函数的应用示例

6.3.4 四舍五入函数—ROUND
ROUND函数返回按指定位数进行四舍五入的数值。
【语法说明】
ROUND函数的语法格式如下所示。

Round(expression, numdecimalplaces)

函数中有Expression和Numdecimalplaces两个参数。
(1)Expression参数,必选项。数值表达式,被四舍五入。
(2)Numdecimalplaces参数,可选项。数字表明小数点右边有多少位进行四舍五入。如果小数位数是负数,则round函数返回的结果在小数点左端包含指定个零。如果省略,则 Round函数返回整数。
【上机实战】
使用ROUND函数获取数值“3.1415926”保留小数点后2位有效数字的四舍五入值,其实现的代码如下所示。

SELECT ROUND(3.1415926,2)
FROM DUAL

代码执行以后,其执行结果如图6.50所示。
在这里插入图片描述
图6.50 ROUND函数的应用示例
使用ROUND函数还可以获取数学表达式计算后结果的四舍五入值,我们来看下面的示例。
使用ROUND函数获取数学表达式“3.14*5-0.06”的计算结果,并且保留小数点后2位有效数字的四舍五入值,其实现的代码如下所示。

SELECT ROUND(3.14*5-0.06,2)
FROM DUAL

代码执行以后,其执行结果如图6.51所示。
在这里插入图片描述
图6.51 ROUND函数的应用示例
如果省略ROUND函数中的Numdecimalplaces参数,则函数将默认返回整数值,如下面的示例所示。
使用ROUND函数获取数值“3.1415926”的四舍五入值,并且省略“保留小数点位数”参数,其实现的代码如下所示。

SELECT ROUND(3.1415926)
FROM DUAL

代码执行以后,其执行结果如图6.52所示。
在这里插入图片描述
图6.52 ROUND函数的应用示例
下面再看一个与实际应用相关的示例。
查询员工信息表(T_EMPLOY)中的员工姓名(E_NAME)字段、部门(E_BM)字段和员工奖金的数据信息,同时员工奖金分成3份进行发放,并且每份奖金要保留小数点后3位数字,其实现的代码如下所示。

SELECT E_NAME,E_BM,E_JJ,ROUND(E_JJ/3,3) 
FROM T_EMPLOY

代码执行以后,其执行结果如图6.53所示。
在这里插入图片描述
图6.53 ROUND函数的应用示例

6.3.5 正弦函数—SIN
SIN函数用于获取数学表达式的正弦值。
【语法说明】
SIN函数的语法结构如下所示。

SIN(expr)

函数中的expr参数是一个数学表达式,该表达式可以是正数,也可以是负数。
【上机实战】
使用SIN函数获取数值“10”的正弦值,其实现的代码如下所示。

SELECT SIN(10) 
FROM DUAL

代码执行以后,其执行结果如图6.54所示。
在这里插入图片描述
图6.54 SIN函数的应用示例

使用SIN函数可以获取数学表达式的正弦值,如下面的示例所示。
使用SIN函数获取数学表达式“10-9-6”的正弦值,其实现的代码如下所示。

SELECT SIN(10-9-6)
FROM DUAL

代码执行以后,其执行结果如图6.55所示。
在这里插入图片描述
图6.55 SIN函数的应用示例

下面再看一个与实际应用相关的示例。
为了实现员工收入的保密功能,现将员工的收入转换成正弦值显示出来,其实现的代码如下所示。

SELECT E_NAME, SIN(E_GZ + E_JJ - E_KK) 
FROM T_EMPLOY

代码执行以后,其执行结果如图6.56所示。
在这里插入图片描述
图6.56 SIN函数的应用示例

6.3.6 取平方根函数–SQRT函数

SQRT函数用于获取数学表达式的平方根。
【语法说明】
SQRT函数的语法结构如下所示。

SQRT(expr)

函数中的expr参数可以是正数,可以是负数,也可以是一个数学表达式。
【上机实战】
使用SQRT函数获取9的平方根,其实现的代码如下所示。

SELECT SQRT(9)
FROM DUAL

代码执行以后,其执行结果如图6.57所示。
在这里插入图片描述
图6.57 SQRT函数的应用示例
SQRT函数还可以获取数学表达式的平方根,如下面的示例所示。
使用SQRT函数获取数学表达式“3*9-18”的平方根,其实现的代码如下所示。

SELECT SQRT(3*9-18)
FROM DUAL

代码执行以后,其执行结果如图6.58所示。
在这里插入图片描述
图6.58 SQRT函数的应用示例
从上面的执行结果可以看出,数学表达式“3*9-18”的值为9,因此其平方根为3。
6.3.7 正切函数–TAN
TAN函数用于获取数学表达式的正切值。
【语法说明】
TAN函数的语法结构如下所示。

TAN(expr)

函数中的expr参数可以是正数,也可以是负数,还可以是一个数学表达式。
【上机实战】
使用TAN函数获取数值“10”的正切值,其实现的代码如下所示。

SELECT TAN(10) 
FROM DUAL

代码执行以后,其执行结果如图6.59所示。
在这里插入图片描述
图6.59 TAN函数的应用示例
使用TAN函数可以获取数学表达式的正切值,如下面的示例所示。
使用TAN函数获取数学表达式“10-9-6”的正切值,其实现的代码如下所示。
SELECT TAN(10-9-6)
FROM DUAL
代码执行以后,其执行结果如图6.60所示。
在这里插入图片描述
图6.60 TAN函数的应用示例

下面再看一个与实际应用相关的示例。
为了实现员工收入的保密功能,现将员工的收入转换成正切值显示出来,其实现的代码如下所示。

SELECT E_NAME, TAN(E_GZ + E_JJ - E_KK) 
FROM T_EMPLOY

代码执行以后,其执行结果如图6.61所示。
在这里插入图片描述
图6.61 TAN函数的应用示例
6.4 类型转换函数—CAST
CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。
【语法说明】
CAST函数的语法结构如下所示。

CAST(expression AS data_type)

语句中的expression参数表示一个表达式,data_type表示转换后的数据类型。
【上机实战】
将数值“3.1415926”转换成INT数据类型,其实现的代码如下所示。

SELECT CAST(3.1415926 AS INT)
FROM DUAL

代码执行以后,其执行的结果如图6.62所示。
在这里插入图片描述
图6.62 CAST函数的应用示例
我们再看下面的示例。
将数值“3.1415926”转换成VARCHAR2数据类型,其实现的代码如下所示。

SELECT CAST(3.1415926 AS VARCHAR2(10))
FROM DUAL

代码执行以后,其执行的结果如图6.63所示。
在这里插入图片描述
图6.63 CAST函数的应用示例
下面再看一个与实际应用相关的示例。
查询员工信息表(T_EMPLOY)中的员工姓名(E_NAME)字段、部门(E_BM)字段和员工的月收入信息,同时员工将员工的月收入信息转换成整数,并且将其显示出来。其实现的代码如下所示。

SELECT E_NAME,E_BM,E_GZ+E_JJ-E_KK,CAST(E_GZ+E_JJ-E_KK AS INT) 
FROM T_EMPLOY

代码执行以后,其执行结果如图6.64所示。
在这里插入图片描述
图6.64 CAST函数的应用示例

6.5 聚合函数
聚集函数用于对表中数据进行统计分析。在SQL中,可以将SQL语句与聚集函数一起使用,将列中的数据按照一定的条件进行分组。即将聚合函数作用到满足条件的分组上。本节中讲解一下有关聚合函数的相关知识。

6.5.1 求平均值函数—AVG
AVG函数用于计算一列数据的平均值。AVG函数只能用于数值类型的数据或表达式。
【语法说明】
AVG函数的语法结构如下所示。

AVG(expression)

Expression参数是一个数值表达式。
【上机实战】
在员工信息表(T_EMPLOY)中,使用AVG函数计算员工工资、奖金和扣款的平均值,其实现的代码如下所示。

SELECT AVG(E_GZ),AVG(E_JJ),AVG(E_KK)
FROM T_EMPLOY

代码执行以后,其执行结果如图6.65所示。
在这里插入图片描述
图6.65 AVG函数的应用示例

注意:AVG函数在计算一列数据的平均值时,忽略NULL。如果该列中所有的行都是NULL时,则AVG函数将返回NULL。

如果想获得满足一定条件数据的平均值。可以在WHERE子句中使用查询条件来进行限制,我们来看下面的示例。
在员工信息表(T_EMPLOY)中,使用AVG函数计算采购部员工工资、奖金和扣款的平均值,其实现的代码如下所示。

SELECT AVG(E_GZ),AVG(E_JJ),AVG(E_KK)
FROM T_EMPLOY
WHERE E_BM='采购部'

代码执行以后,其执行结果如图6.66所示。
在这里插入图片描述
图6.66 AVG函数的应用示例

6.5.2 求个数函数—COUNT
COUNT函数用于获得数据表中记录的行数。
【语法说明】
COUNT函数的语法结构如下所示。

COUNT(expression)

Expression参数是一个表达式。
【上机实战】
在员工信息表(T_EMPLOY)中,使用COUNT函数计算数据表中的记录条数,其实现的代码如下所示。

SELECT COUNT(*)
FROM T_EMPLOY

代码执行以后,其执行结果如图6.67所示。
在这里插入图片描述
图6.67 COUNT函数的应用示例
如果想获得满足一定条件数据的条数。可以在WHERE子句中使用查询条件来进行限制,我们来看下面的示例。
在员工信息表(T_EMPLOY)中,使用COUNT函数计算采购员工的人数,其实现的代码如下所示。

SELECT COUNT(*)
FROM T_EMPLOY
WHERE E_BM='采购部'

代码执行以后,其执行结果如图6.68所示。
在这里插入图片描述
图6.68 COUNT函数的应用示例

使用COUNT函数还可以讲数据表中的数据信息进行分组统计,如下面的示例所示。
在员工信息表(T_EMPLOY)中,使用COUNT函数分别统计每个部门员工的人数,其实现的代码如下所示。

SELECT E_BM,COUNT(*)
FROM T_EMPLOY
GROUP BY E_BM

代码执行以后,其执行结果如图6.69所示。
在这里插入图片描述
图6.69 COUNT函数的应用示例

6.5.3 求最大值函数—MAX
如果想获得一列数据中的最大值,可以使用MAX函数。
【语法说明】
MAX函数的语法结构如下所示。

MAX(expression)

Expression参数是一个表达式。
【上机实战】
在员工信息表(T_EMPLOY)中,使用MAX函数获取数据表中工资最高的员工工资,其实现的代码如下所示。

SELECT MAX(E_GZ)
FROM T_EMPLOY

代码执行以后,其执行结果如图6.70所示。
在这里插入图片描述
图6.70 MAX函数的应用示例
如果想获得满足一定条件数据数据记录的最大值。可以在WHERE子句中使用查询条件来进行限制,我们来看下面的示例。
在员工信息表(T_EMPLOY)中,使用COUNT函数计算采购部工资最高的员工,其实现的代码如下所示。

SELECT MAX(E_GZ)
FROM T_EMPLOY
WHERE E_BM='采购部'

代码执行以后,其执行结果如图6.71所示。
在这里插入图片描述
图6.71 MAX函数的应用示例

使用MAX函数还可以将数据表中的数据信息进行分组统计,分别统计出每组数据的最大值,如下面的示例所示。
在员工信息表(T_EMPLOY)中,使用MAX函数分别统计每个部门工资最高的员工工资,其实现的代码如下所示。

SELECT E_BM,MAX(E_GZ)
FROM T_EMPLOY
GROUP BY E_BM

代码执行以后,其执行结果如图6.72所示。
在这里插入图片描述
图6.72 MAX函数的应用示例

6.5.4 求最小值函数—MIN
如果想获得一列数据中的最小值,可以使用MIN函数。
【语法说明】
MIN函数的语法结构如下所示。

MIN(expression)

Expression参数是一个表达式。
【上机实战】
在员工信息表(T_EMPLOY)中,使用MIN函数获取数据表中工资最低的员工工资,其实现的代码如下所示。

SELECT MIN(E_GZ)
FROM T_EMPLOY

代码执行以后,其执行结果如图6.73所示。
在这里插入图片描述
图6.73 MIN函数的应用示例
如果想获得满足一定条件数据数据记录的最小值。可以在WHERE子句中使用查询条件来进行限制,我们来看下面的示例。
在员工信息表(T_EMPLOY)中,使用MIN函数计算采购部工资最低的员工,其实现的代码如下所示。

SELECT MIN(E_GZ)
FROM T_EMPLOY
WHERE E_BM='采购部'

代码执行以后,其执行结果如图6.74所示。
在这里插入图片描述
图6.74 MIN函数的应用示例
使用MIN函数还可以将数据表中的数据信息进行分组统计,分别统计出每组数据的最小值,如下面的示例所示。
在员工信息表(T_EMPLOY)中,使用MAX函数分别统计每个部门工资最低的员工工资,其实现的代码如下所示。

SELECT E_BM,MIN(E_GZ)
FROM T_EMPLOY
GROUP BY E_BM

代码执行以后,其执行结果如图6.75所示。
在这里插入图片描述
图6.75 MIN函数的应用示例

6.5.5 求和函数—SUM
SUM函数用于获得一列数据的和。
【语法说明】
SUM函数的语法结构如下所示。

SUM(expression)

Expression参数是一个表达式。
【上机实战】
在员工信息表(T_EMPLOY)中,使用SUM函数获取数据表中所有员工的工资综和,其实现的代码如下所示。

SELECT SUM(E_GZ)
FROM T_EMPLOY

代码执行以后,其执行结果如图6.76所示。
在这里插入图片描述
图6.76 SUM函数的应用示例
如果想获得满足一定条件数据数据记录的和。可以在WHERE子句中使用查询条件来进行限制,我们来看下面的示例。
在员工信息表(T_EMPLOY)中,使用SUM函数计算采购部员工工资的总和,其实现的代码如下所示。

SELECT SUM(E_GZ)
FROM T_EMPLOY
WHERE E_BM='采购部'

代码执行以后,其执行结果如图6.77所示。
在这里插入图片描述
图6.77 SUM函数的应用示例
使用SUM函数还可以将数据表中的数据信息进行分组统计,分别统计出每组数据的和,如下面的示例所示。
在员工信息表(T_EMPLOY)中,使用SUM函数分别统计每个部门工资的和,其实现的代码如下所示。

SELECT E_BM,SUM(E_GZ)
FROM T_EMPLOY
GROUP BY E_BM

代码执行以后,其执行结果如图6.78所示。
在这里插入图片描述
图6.78 SUM函数的应用示例
6.5.6 聚合函数的组合使用
以上讲解的聚合函数实际上可以组合在一起使用。下面通过示例来具体地进行讲解。
【上机实战】
在员工信息表(T_EMPLOY)中,分别使用聚合函数获取员工的最高工资、最低工资、平均工资和员工工资的总和,其实现的代码如下所示。

SELECT MAX(E_GZ) AS 最高工资,MIN(E_GZ) AS 最低工资,
AVG(E_GZ) AS 平均工资,SUM(E_GZ) AS 工资总和
FROM T_EMPLOY

代码执行以后,其执行结果如图6.79所示。
在这里插入图片描述
图6.79 聚合函数的组合应用
6.6 使用CASE值表达式
Case函数用于实现数据处理。
下面通过示例来讲解一下Case函数的应用。
【上机实战】
在员工信息表(T_EMPLOY)中,使用Case函数将采购部员工的工资增加100元;将人事部员工的工资增加50元,其实现的代码如下所示。

SELECT E_NAME,E_BM,E_GZ,
CASE E_BM
     WHEN '采购部' THEN E_GZ+100
     WHEN '人事部' THEN E_GZ+50 
     END
 FROM T_EMPLOY

代码执行以后,其执行结果如图6.80所示。
在这里插入图片描述
图6.80 Case函数应用示例
从执行结果可以看出,采购部员工的工资在原来的基础上增加了100元;人事部员工的工资在原来的基础上增加了50元。
在CASE函数中还可以使用聚合函数,如下面的示例所示。
在员工信息表(T_EMPLOY)中,使用CASE函数和SUM函数分别统计出采购部和人事部员工的工资总和,其实现的代码如下所示。

SELECT E_BM,
CASE E_BM
     WHEN '采购部' THEN SUM(E_GZ)
     WHEN '人事部' THEN SUM(E_GZ)
     WHEN '技术部' THEN SUM(E_GZ)
     END
 FROM T_EMPLOY
 GROUP BY E_BM

代码执行以后,其执行结果如图6.81所示。
在这里插入图片描述
图6.81 Case函数应用示例

注意:简单Case函数的写法相对比较简洁,功能方面会有些限制,比如写判断式。另外,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HeartBest丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值