00:00
Hello,大家好,我是数据导购人孙夏恩,今天呢我们会带来搜狗知识大全的第三讲,主要会讲字符串的处理以及条件查询,这篇文章呢,我同样的已经发布在了公众号数据万花筒之上,如果大家想要去阅读的话,请扫描这个二维码,同时也欢迎大家关注我的公众号数据万花筒。今天的内容呢,我们会讲解条件查询、文本处理、百分比数限制、格式化以及子查询。在条件查询方面呢,我们会讲解if以及kiss问,在文本处理方面呢,我们会讲解各类文本处理常用到的一些函数,这边就非常多了,待会儿会一个一个给大家细细的讲,后面的话会去讲解百分比函数限制、格式化显示以及子查询。我们先来讲条件查询,条件查询的话,最常用的是一个if语句。
01:00
If语句,它的语法是if,然后括号它有三个参数。下面我们来看一个示例,嗯,这个示例我说的是我们想要从table name这张表中选出SV不、不为空的这些行,当s va等于一的时候,把这个命名为男,当它不等于一的时候,把它命名为女,并且生成一个新的字段,这个新的字段是S,这就是我们条件查询if的用法。除了if之外呢,Kiss when也可以实现这样的功能,同时case它也可以和聚合函数共同使用。我们来看一个例子,同样的,我们想要从table name这张表中找出s va不等于空的这些行,并且当s va等于一的时候,把它命名为男,否则的话就把它命名为女,最后的话会生成一个新的字段,叫做S,这就是我们一个kiss的一个用法。kiss还有一个比较常用的用法就是它可以和均合函数一起使用,我们来看一个例子,这个例子就是。
02:00
是从table name这张表中选出s va不等于空的这些行,当s va等于一的时候,我们就去统计它的ID,并且对这个ID进行一个去重,去重之后呢,再去统计这样的ID到底有多少个,这样一来呢,我就计算出了s va等于一的ID量。下面一下理理常是字,我们一,它主要有三个参数,第一个是string,也就是我们想要这样的一个字符,然后M的话,它是想要从字段的第几个字符开始截取,N的话是截取字符串的一个长度。我们来看这个示例,第一个示例我们想要把ABCDEF这个字符串,然后从第三个字符开始截取,截取四个字符,然后它的结果得到结果就是CDEF从。
03:00
三个开始,也就是从C开始,C开始往后截取四个字符,那就是CDEF,同样的我们再来看下一个例子,下一个例子它是想要从ABCDEF当中,从倒数第三位开始截取倒数第三位,也就是从E开始截取,往后截取四个字符,因为没有四个字符,它就显示三个字符,所以是EFG这个第三个事例的话,它主要是多个soft string共同连用去截取字符串,它的语法是和上面例一和例二是相似的,具体的语法和事例我就不去讲了。后面的话我们讲一下字符串的拼接,字符串的拼接我们可以使用特殊的符号去拼接,也可以使用拼接函数去拼接。使用符号去拼接的话,我们来看几个例子,第一个符号可以使用这个加号去拼接,加号的话,我们就是想要把这个它的。
04:00
可以把它拼接在一起,并且在CTRL前后加上括号,这就是我们第一个使用加号拼接,除了加号之外呢,这个符号也可以把它替换成这个双数杠,它的语法是一样的,除了可以使用上述的符号进行拼接之外呢,我们还有专用的函数进行拼接,函数的用法和上面符号是类似的,函数名,然后我们想要拼接的列,另外一个想要拼接的列,以及它的一些符号限制,这就是我们的一个contact函数。讲完拼接之后呢,我们肯定是还有一些场景是需要想把这些字符串把它分割,那么分割的话,我们主要用到的函数是split这个函数,它主要有两个参数,第一个参数的话是我们需要分割的一个字符,第二个参数的话,我们是以什么符号进行分割?我们来看一下它的基本用法,第一个我们想要分割的这个字符串是abcd,这些字符串它是以逗号为分割的,我们想要通过逗号把这些字符串。
05:00
给分隔开来,最后得到的结果就是这样的一个例子,上面的话,我们是通过split这个函数把我们的字符串给分割开了,当我们分割开这些字符串之后呢?如果我们想要取这些字符串中的某一项,就可以通过后面加index,然后去得到字符串中的某一项。比如说我们想要取这个字符串分割后的第一项就用index,零,然后来取出A这个字符。我们来看几个特殊的例子,就是有些时候我们会遇到特殊的字符,这时候我们就需要进行一些特殊的处理,比如说我们想要用点来分隔一系列的字符串,如果我们通过spli这个函数来这行IP来最后结是一个是因我们在没有把进行一个,如果是进行转之后呢,我们就可以得到一个比较正常的结果,转的话,我们是将双斜杠进行一个转,有时候字符串我们就很关心。
06:00
这个字符串的长度,如果是我们想要去算某一个字符串的长度的话,我们就用到less这个函数,它的语法也是一样的,比如说我们这里就是想要从这张表中,然后去计算它name这个长度到底是多少。除了长度之外,大小写的转换也是字符串中比较常用的,它的语法也比较简单,我们用到的是lower和up这样的函数,Lower的话主要是把这个大写转换小写,Up的话主要是把小写转为大写,其他语法都是一致的。replace也是字符串操作当中比较常用的一个函数,它的功能主要是字符串的一个替换。假设我们在入库一个地址的时候,我们把这个区,然后打通了,打成这个,我们就需要用replace这个函数进行一个替换,我们的操作就是从test TB这张表里面,然后去选出address这个字段,然后把中间的哦哦这个字把它替换成去。
07:00
这就是我们的一个字符串的一个替换,Left和right也是比较常用的一个函数,应用的场景就在于某些时候我们想要返回某些字符串,从左边开始或者是从右边开始数的某几个字符,这样子的话我们就可以用left或者是去操作。我们来看几个例,我们来看个例,要这个字段从左边开始数的前两个字符,下面我们再去看另外一数和这些数,它主要是想要去掉字符串左边右边或者是全部的空格,很好理解,L它就是要去掉字符串左边的一个空格,它主要是想要去掉右边的空格,而tri的话,它主要是想要去掉左边右边全部的这样的一个空格。另外下面这个函数的话,我们就不去细讲了。
08:00
它就是想要返回字符串的一个近似值,这个我们基本不太常用,所以就直接列去了。下面的话我们讲一下这个字段类型的转换,在前面几讲我们有讲过,字段的类型包括了一些整型、浮典型以及字符串类型等等各种类型。嗯,S的话,它主要是可以把不同类型的呃字段进行一个转换,这里的话我们主要是想要把一个string类型的字段,把它转换成其他类型的。比如说我们经常看到表中它的一个DT日期,我们都是用string类型去表示的,当我们想要把它转成一个int类型的话,就可以这样写test dt,把它as int就把它转成T,然后并且对它进行一个重命名,这就是我们一个数据类型的一个转换。下面我们讲一下取百分比的数,取百分比的函数主要是person和person,其实两者都差不多,只是前者它会,它会多了一个参数,这个参数。
09:00
就是B,它是一个近似中位数函数,而后者它就没有这个B,它是一个中位数的函数,我们看一下它的具体用法,比如说我们想要取percent,想要这个字段30%就这样写,那么我们的这个也是可以实现的是它取的是一个近似值,近似值中这个B,它的精度越大,那么我们的结果的准确性也就越高。数限制这个函数也很简单,可能大家之前也已经用过了,函行数限制的话,就是当我们从某一张表里面select字段之后,想要去限制有多少行,比如说一张表里面它有1万行数据,然后你select出来了,它真的太多了,显示起来它可能就会卡顿或者是延迟,所以我们就去限制它的一个行数,去减少这样的一个操作,它分来运行的效率也就高。下面我们来讲一下格式。
10:00
式化显示格式化显示用到的函数是format,它的语法是这样子的,第一个参数是一个column name,也就是我们的一个字段名,第二个参数是我们想要格式化显示的内容。下面我们来看几个例子进行说明。这个例子说的是我们想要把带有四位小数点的这个数字,然后保留两位小数进行一个显示,结果就是100.35,而后面的话,我们想要把100这个数字也是保留两位小数,它就会在后面默认加零,同样的100.6保留两位小数,它也是会默认加零,这就是我们一个格式化显示。最后我们来学习一下子查询,子查询它有各种不同的形式,第一种形式就是这个子查询,它作为一个条件过滤放在well这里,我们来看下面这个示例,呃,这个示例的话,主要是想要从orders这张表中去找出ID,那么找出什么样的customer ID呢?看well,这里的条件限制就是想要找出这些order,它是在这个子查询。
11:00
条件里面的,那么这个子查询条件是什么样的呢?就是想要从这表里面去找出ID等这么多的,并且想要最终的ID是在这个子查询里面出现过的,这就是我们查询作为一个条件筛选,嗯,像这样子的一个子查询的条件筛选,我们也可以把它放到left,然后做一个关联,然后去筛选出我们想要的信息。嗯,这里呢,我们就不去细讲了,当我们讲到关联的时候,我们再去细的说这一点。第二种形式的话,就是这个子查询作为一个计算字段,计算字段它放在哪里呢?当然就是放在select这里了,我们看一个具体的事例,我们想要从customers这张表里面去检索出我们的name state,并且检索出它的一个订单的一个数量,这个数量的话,我们这里放你一个计算字段,这里计算字段主要是想要从orders这张表里面去。
12:00
去检索出它的一个count,它的一个数量是有多少,那么它的一个关联条件的话,就是我们想要订单表里面的customer ID等于customer表里面的ID,然后并且把它作为一个新的字段叫做orders,这就是我们的子查询作为一个计算字段。好了,我们今天的内容到此全部结束了,我们做一个简单的回顾,首先我们先讲一个条件查询,讲了if和when的用法,其次的话我们讲了各类文本处理函数,就很多很多很常用的一些文本处理函数,后面的话讲了百分比、行数限制、格式化显示以及子查询。我们今天的课程就到这里,欢迎大家持续关注,我后续课程还会继续更新,也欢迎大家关注我的公众号、视频号、B账号以及抖音号,谢谢大家。
我来说两句