| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 第八章、SQL语言学习之函数(字符函数篇) -> 正文阅读 |
|
[大数据]第八章、SQL语言学习之函数(字符函数篇) |
?哈罗,各位小伙伴大家好,又见面了,我还是那个不吃饱不干活的小尘,欢迎来到本期的SQL语言之字符函数部分,让我们一起进入知识的海洋吧~??? 首先,这次进入的是函数这一个新的篇章,所以要先导入一下,并且简单说一下函数的分类和调用,小伙伴们不要不耐烦哦,那咱们开始吧! 一、引入(1)java中的方法概念这里讲的函数类似于java中讲的方法。将一组逻辑语句封装在方法体中,对外暴露方法名。 将我们实现某个功能的一组逻辑语句,封装到了方法中。对外暴露一个公开的名字。回头再想用这些逻辑语句,只需要调用这个方法名就可以了。 好处1、隐藏实现细节。 2、提高代码重用性。下次再用这些语句,就不需要再写一遍了,直接调用方法名即可。 (2)SQL中函数的调用语法SELECT? ?函数名(实参列表)【 FROM? ?表 】;
执行过程?相当于我们在调用该函数,把该函数的逻辑语句完全执行完,最终将它的返回值显示出来。
(3)SQL中函数的分类?1、单行函数 做处理使用。 传过去一个参数,最终一定会有一个返回值。 如:CONCAT? 、LENGTH?、IFNULL 2、分组函数(统计函数、聚合函数、组函数) 做统计使用。 给它传进去一组值,最终返回一个值。 二、函数具体分类(1)字符函数? ?用于对字符型的处理。传入的参数类型是字符型。 1、LENGTH该函数用于获取参数值字节个数。
认识: 如图,我们可以知道,LENGTH函数里面放的是一个字符(str)。 如果我们在里面放入 'john',在这里不需要加 FROM? 表名 。 看一下执行结果: 如果我们在里面放中文呢? 我们可以看到,结果是15。 因为一个字母是一个字节,而一个汉字是三个字节。但这也要看字符集。 不妨来看一下该客户端是什么字符集: SHOW? VARIABLES? LIKE? '%char%'
2、CONCAT该函数用于拼接字符串。 认识: 如图,我们可以知道,CONCAT函数里面放的是需要连接的字符串。 ? 如果我想把last_name和first_name连在一起,中间用一个下划线隔开:
看一下执行结果: ? 3、upper、lower改变大小写 认识: ?如图,我们可以知道,UPPER函数里面放的是字符型的值。 如图,我们可以知道,LOWER函数里面放的也是字符型的值。? 那两个函数有什么用呢? <1>?和第一个举的例子一样,我们把'john'放入试试。 发现放在UPPER函数中john变成了大写。 而LOWER函数却没有发应: <2>?如果是大写的JOHN呢? 发现放在UPPER函数中JOHN不变。 ?而放在LOWER函数中变成了小写。 ? <3>?那如果是这个‘jOhN’呢? 我们发现在UPPER函数将字符都变成的是大写。 ? 而LOWER函数将字符都变成的是小写。 ?
案例、 将姓变大写,名变小写,然后拼接。 代码:
执行结果:? ? 在上面我们也可以看见,CONCAT和UPPER、LOWER函数是嵌套使用的。 说明函数是可以嵌套调用的,也就是某个函数的返回值,可以充当另一个函数的参数。 4、substr? (substring)截取字符 认识: ?4代表什么? 代表是4个函数重载。 方法重载:名字一样,参数列表不一样。即同一个函数名可以放不同数量的参数。 在这儿第一个放的是一个字符(str),第二个放的是位置(pos)。 <1> 案例一、 把“孙悟空大闹天宫”的“大闹天宫”给返回。 函数第一个参数要写上“孙悟空大闹天宫”,第二个要写上“大闹天宫”的位置(索引),即4。
代码:
执行结果:? ? <2> 案例二、 把“孙悟空大闹天宫”的“孙悟空”给返回。 代码:
? 执行结果:
<3> 案例三、 姓名中首字符大写,其他字符小写,用下划线拼接,显示出来。 代码:
执行结果: ?部分解析: 5、instr?返回子串(substr)在原字符串(str)里面的起始索引。 认识: 如图,我们可以知道,INSTR函数里面有两个参数。 第一个参数是输入的字符串,第二个参数是截取的字符串(子串)。 举例、 ?代码:
执行结果: ? 如果“开辟”这个子串出现了很多遍,那么会显示什么? 我们来看看: 如图,我们可以看见,有两处出现了“开辟”。 分别出现的位置是“2”和“6”,结果显示的是“2”。 说明显示的是第一次出现的子串。? 那如果没有要求显示的子串呢? 我们可以看见,若没有要求显示的子串,执行结果就是0。
6、trim认识: <1> 我们在函数里面放一个大的字符串: ? ?这个看不出来什么,前面的空格像是没有了,后面的空格又像有似的。 其实不是的,是因为单元格的原因,单元格较长。 我们可以加上LENGTH函数来看看长度。 如果只返回字符串的字节长度,就是3*4=12。即没有算空格长度。 ?如图,说明该函数去掉了前后空格。 <2> 那如果我们里面写的不是空格呢? ?如图,我们若是想去掉字母a,该怎么办呢? 我们可以在输入的字符前面加上? 'a' from,给它规定一下,这次要去掉的是a。 ?可以看见,前后的a都去掉了。
<3> 如果上面我们去掉的是aa呢?? ? 我们可以看见,有一个a没有被去掉? 7、lpad用指定的字符实现左填充指定长度。 认识: ?如图我们可以知道,LPAD函数里面的参数有三个。 ?如图我们可以知道,“三千世界”占了四个位置,不够10个,左边会以*填充。 用*填充三千世yong 界,总长度是10。 如果指定长度小于字符长度呢? 如图,说明最终长度是和第二个参数,即总共的字符长度一致的。 如果输入的字符长度超过了指定的长度,就会从右边截断。? 8、rpad用指定的字符实现右填充指定长度。 认识: ? 我们来举个例子: 可以看见,是在右边进行填充的,总长度为12。 9、replace用于替换。 认识: ?我们可以看到,REPLACE函数有三个参数:输入的字符、被替换的字符、替换的字符。 举个例子: ?我们可以看到,第一个输入字符的“沙僧”都被换成了“猴哥”。 ? (2)数学函数? ?传入的参数类型是数值型。 (3)日期函数? ?传入的参数类型是日期型。 (4)其它函数(5)流程控制函数? ?可以实现一些分支结构。 好啦~ 我们这次说的主要是字符函数,因为篇幅原因,后面的函数要在后面讲解喽~ 欢迎继续关注后续内容,原创不易,希望多多支持。 咱们下次不见不散~
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 1:16:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |