00:00
那接着的话呢,咱们来看一下这个叫字符串的一个函数,这个字符串的话呢,在咱们实际开发当中,不管是这个SQ里边,还是咱们这个,呃,像Java呀,C呀,Python呀是吧,这样的一些编程语言当中,那我们说字符串呢,都是非常重要的一类这个变量是吧?然后呢,跟字符串相关的一些函数或者是方法,那自然而然的呢,也都比较多,相对来说呢,也都比较重要一些啊,使用频率比较高嘛,是吧?那这块呢,我们来看一下这个SQ当中,呃,这样的一些这个函数啊,看看都有哪些啊,呃,这块呢,咱们也是这个一波一波的来给大家去讲解啊,先在咱们来一波先到这吧。好把这块呢,我们听一下,哎,这块呢,我们做一个说明啊,这是咱们这个第二波叫字符串函数,那通过这个呢,单个函数的讲解,咱不是分成好几类嘛,诶大家也能看到了,咱们到目前为止,虽然说呢,没有正式的去讲解一下咱们SQL里边这个数据类型啊,但是大家呢,其实应该也能看到了,比较重要的几类数据类型呢,就是呃,数值类型的是吧,具体就分为整形和副典型的,那粗串类型的啊,还有日期和时间类型的,这呢是我们非常重要的这个三个类型。
01:12
啊,回头呢,我们到时候再展开去说啊好,那么关于字符串这些函数呢,咱们来看一下,首先第一个叫ask啊,或者叫ask啊嗯,这呢是一个函数啊,我们说也有个字符集呢,是不是就叫ask码是吧?哎,这呢跟这个S码呢,它这个用的这个,呃,这个称谓呢,是完全一样的,只不过这里边呢,我们是一个函数,比如我写一个叫ABC啊,From一个到。哎,它这里边的话呢,呃,只跟第一个字符是有关系的啊,你看我们这块英雄的结果呢,是97啊,因为这个小A呢,代表的就是97,那这个大A代表的是多少呢?那如果大家清楚的话呢,它就对应的是65对吧,跟我们后边这个字符是什么是完全没有关系的啊,它只返回的是第一个字符啊,这块大家注意一下啊,这是它,然后第二个和第三个呢,我们可以归成是一类啊,Char length和lengths啊,前面的话呢,我们是不是用到过这个lengths表示的就是我们这个叫字节的这个。
02:08
呃,个数是吧,哎,字节的个数这块呢,我们可以写具体的一个,呃,字符串是吧,比如我这块呢,写的是一个哈,呃,咱们再来一个。L这块啊,我先写这个吧,我先咱们先写这个叫charl啊,这个呢,更容易去解释一些,然后Charles,我写这个hello,然后再来一个charl呢,我这块写一个,比如说诶,我们。这个是一个汉字的一个,我们好逗号一下,然后呢,我们再去呢,专门写这个LS啊,我写一个这个hello。嗯,再写一个这个L呢,是一个我们。OK行,那这块呢,我们来对比一下啊,选择呢执行,那来看一下,首先这个X它表示的就是我们想获取的就是字符的个数啊,那这块呢,相当于是有五个字符,那这块呢有两个字符。那所以说这个是五,这个是二啊,这个应该很好理解,就是单独的一个呢,这都属于一个字符了,那么接下来的话呢,这个区别就出现了,我们发现呢,这个length来看的话呢,它这块还是一个五。
03:07
那这个呢,其实就涉及到这个,呃,这个字符集的一个问题了,那我们在这个实际存储这个hello的时候啊,这一个呃字符是吧,实际上它用一个字节去存储就可以。就是咱不管是二次码也好,还是UTF8的这个字符集也好,那存储这个,呃,一个字符的话呢,这一个这个咱们说abcd这样的字母的话呢,实际上就是用一个字节在底层存的啊,就一个字符,它就相当于是一个字节了啊,所以这块呢,就还是五,而我这而这个呢,我们为什么是六呢?那相当于除一下是不是每一个汉字呢,是占三个字节对吧?那因为呢,在咱们这个UTF8里边。啊,UCL8里边呢,每一个汉字呢,就是占呃三个字节的啊,所以说呢,这块呢就是六是吧,那同样的在UCL8里边呢,就我们刚才说的一个这个像abcd这样的字母的话呢,它就是用一个字节来存储的,所以这块呢还是。
04:02
所以用lesss的话呢,衡量呢,就是它底层存储的时候呢,它占的字节数,而这个呢,就是我们内存层面呢,它是多少个字符,哎,注意一下啊好,那么在接下来我们这个叫contact。那个con的话呢,表示的就叫这个连接了啊,咱们再重新新起一个这个,哎,Select。那我们这个呢,哎,Contact连接对吧,那连接的话呢,比如说我们做一个这个具体的需求啊,说谁谁谁叫I worked。I worked for啊,谁谁谁是吧,这个呢,就是我们讲这个字连接的时候呢,可以涉及到的,比如说con,我们说谁谁谁这呢就写到哎,涉及到一个叫哎,Lastname是吧,哎逗号一下,然后呢,第二个位置呢,我们说叫worked for啊,我们是一个是不是诶固定的一个字符串啊,叫worked for是吧?哎,然后逗号一下,然后诶谁谁谁那这呢还是一个lastname啊from一下employees。那这个呢,我们作为这个员工出现的啊,我们join一下employees,这个呢,作为这个管理者出现的是吧,然后where的话呢,那我们说这个员工的他的manager ID和我们这个管理者的。
05:10
他的这个major ID,哎,这个employd是吧。Employee ID,诶他俩呢,是这个对应关系的,没问题是吧,然后接着你要注意的就是我们这个lastname呢,前面这个呢是员工表里的,后边这个呢,是我们这个,诶部这个管理者表里边的。这样的一个对应关系,好,那此时呢,我们选中呢,做一个这个执行。啊,出来了是吧,那这块呢,你看这个名字呢,有点长,它就相当于拿我们整个这个函数呢来充当呢,咱们这个呃,字段名了不合适是吧,那我们这块呢,可以取个别名。那比如说哎,叫details啊,这样子好,我们选中了再去执行啊,这时候呢,我们只有一个列对吧,那这个列呢,就叫做details,说谁谁谁work for谁谁谁啊这块呢,一共106行记录啊,因为的话呢,就是我们那个公司的老大,他就这个没有说它对应的管理者了,是吧?诶我们这样啊,好这块呢,相当于给大家举了一个con的一个使用场景。
06:07
好的话呢,就是将这里边呢,你可以去呃声明多个字符串,把它们呢拼接在一起啊就可以了。中间呢,没有任何其他的一个字符去这个加在中间,而我们下边这个呢,你看哎,是con k_WS是吧,哎,Con k。哎,下线,哎,WS,然后它这个呢,你看我们这叫呃separate啊,就是分隔符的意思,然后后边呢,是几个字符串啊,举个例子啊,比如这块我写的是一个杠,然后逗号一下,我这写一个hello,然后呢,这写一个word。啊,再来一个吧,再来一个hello,啊,再来一个北京。啊from一个道啊好,这呢,我们看后边这块呢,是不是有四个字符串,中间一个短横线,相应呢,就是拿短横线呢去连接这四个字符串,那所以中间呢,你看都是用这个短横线来连接的,对吧?那如果说呢,我这块呢就把它去掉。
07:01
啊,选中是不是这个呢,相当于就我们上面这个con了。对吧,那可以理解成就con属于我们这个con下线WS的一个特殊情况是吧。好,这是它,然后下边这个叫insert啊,Insert replace,那这有两个函数啊,Insert的话呢,正常来讲它叫插入是吧?嗯,但是呢,其实这个呢,还表达的不是这个插入的意思啊来我们看一下。就是我这块一边给大家测试呢,大家一边呢,就是往自己脑子里边去记一下啊,你看我们这个函数是什么意思啊,这个有印象的话呢,回头我们再写词后的话呢,你才能有这个意识呢,去用到这个函数啊好,这个insert,我这呢,比如说我写一个这个hello啊,注意咱们都是用这个小写的,嗯,这个position啊,我这呢写一个二吧。这个长度的话呢,我也写一个二吧。哎,这个我写个三吧,然后一会儿呢,我把这个字串再长一点啊,然后这个位置呢,我写一个写几个A,诶from一个到是吧,然后这个位置呢,咱们来一个hello word。
08:03
好,大家看咱们这个位置呢,哎,你看这也能看到它是叫是不是索引位置对吧?那索引位置我这写的是个二,诶这里边有个非常重要的一个位置,就是咱们首次提到这个索引位置,咱们需要强调一下,就是这个字符串的,哎,索引啊是从注意是从一开始的。那大家呢,有可能接触过其他的一些编程语言啊,Java等等的是吧,那我们说呢,他这个像Java这样的语言,只要涉及到索引呢,通常都是从零开始的,你可以列解成就所谓的偏移量嘛,偏移量零就是第一个位置,那我们这里边呢,提到的说这个,呃,字符串这种索引在S库当中,注意它是从一开始的,也就是说我这写的这。对应的是我们这里边儿字符谁呀。哎,是不是它是一啊,它就是二,哎,所以这个二呢,指的是这个E啊,一定要小心一点,它这从它开始,后边是len,注意它是长度的意思,相当于呢,我们是不是取了三个呀。
09:01
取了三个对吧,啊E把这三个呢,哎,我们替换成五个A来选中。执行大家看。那我们刚才来说是不是这三个呀,哎,换成五个A,然后后边是不是有一个O,然后呢,一个word吗。没问题是吧?哎,这其实是呢,一个替换的作用啊,这个insert呢,是替换的意思啊,那么下边这个replace呢,这就更直接了啊,一看这个单词的名字,它是不是就叫做替换是吧。好replace,那这个replace的话呢,我们叫字符串啊A啊,换成B是吧,我们就写一个hello吧啊A啊,我来个比如L啊,替换成比如MM这个往这边移一下啊。这么着一下,那就意思呢,就是我们拿这个hello,这个字符串当中,把LL呢替换成MM啊,这个你可以再来一个,再来一个M。好,我们选中那执行,你看是不是就把LL给替换成三个M了,那比如这块呢,我叫LOL。
10:03
撸啊撸是吧,那我们现有的字符串当中是不存在着LOL,那这时候呢,它就替换就失败了。也不会报错啊,就是替换失败了,就找不到这样的一个字符串啊,仅此而已。行这呢,就是这个replace啊,就这两个呢,其实都是属于这个替换的作用啊,你看就是你想是把哪一段替换了呢,还是说把指定的这个字符串啊给替换了呢?哎,看看选哪一个。好,下边这个呢叫嗯大写,这个叫小写啊,这个一看呢,应该是都比较清楚啊,比如说我们这个叫啊upper啊upper,或者你用这个UK啊都行啊,比如我这里边我写一个小写的,这叫upper是吧,然后再来一个这叫a lower,这个呢大家你记住一个就行啊,没必要呢,这里边都去记了啊,这个呢,我们比如说写成大家写的。啊,我就有大写有小写的啊这个情况。哎,From一个,哎大嗯,好,我把它呢CTRLC啊这个咱们放到这吧,行,然后选中执行,你就发现呢,To offer的话呢,把它就全部变成大写了,然后这个呢,Lower呢就全部变成这个小写了。
11:07
啊,就这个意思,那这个函数呢,有什么用呢?比如说我们去select一下,比如叫a last nameme,叫这个salary。那from employees啊,记不记得咱们前面写过这个过滤条件的时候说where a last name。哎,我们叫等于是吧,当时呢,咱们这个一开始讲这个过滤的时候呢,我这块呢,写过一个字串叫做K。还记得吧,哎,当然呢,我们这块呢,去执行的时候呢,你看出来结果了,哎,那咱们在这个数据库当中,本身存储的就是大写的这个K。对吧,大写K,那同样的这个需求呢,咱们如果放到咱们这个。哎,这个Oracle当中。哎,你看我这块我选中啊,这样呢去做个执行是不是也能出来是吧,那这里边呢,咱们当时强调过还记得吧,说呢,哎,在这个里边呢,其实是区分大小写的,咱们所说不区分指的是在外边这块啊,里边呢,实际上去区分的,这是咱们说的是这个circleq规范里边啊,但是呢,在my circleq当中,你发现呢,这样写是不是还是这个出来了,而在咱们这个Oracle当中呢,如果大家你把这个K改成小写的时候,那我们选中的执行,那你会发现呢,是不是就没有了,相当于Oracle呢,在支持这个收购标准的时候呢,是比较严谨的。
12:19
那比如说我们现在呢,就想查出来叫king的这个人的信息,那但是呢,你这样写的话就没出来,那怎么办呢?我们是不是可以就用这个所谓的叫lower是吧。未连接到啊,这个是不是就。啊,这个那会儿给断了是吧,我们这块呢,可以在。查询一下啊,目前还可以把这个选中呢,执行一下啊,能出来啊没错啊行,那比如说这块呢,我们就来一个这个叫a lower。啊,来一个这个叫lower,然后把它圈起来以后呢,相当于我不管你这个字段呢,里边是大写的小写的还是首字母大写的,总之呢,我把你都变成小写,变成小写以后呢,你长这个样子就行,哎,这就是这个意思,好,那我们选中呢去执行一下,你看这个时候呢,是不是就查到了。
13:04
哎,相当于我们这个log上就有它的这个场景,那只不过呢,在咱们这个my soq当中呢,这块你加不加,好像这个意义就不大了。对吧,那比如说我们这块呢,加了一个这个logo,那加完之后的话呢,呃,那你这块呢,比如说我们这块还写成这个大写了,按说呢,是不是就不靠谱了。因为这是全是小写,这个呢,是不是大写的,按说是找不到了,但事实上呢,你看一走是不是还是出来了。那说明这个my circle呢,在支持这个circleq这方面呢,它这个有点太宽泛了是吧?啊这个呢,其实不是特别的严谨啊,来说一下这意思,大家知道这个lower呢,在什么样场景下我们可能会用啊,那同样的,你把这个比如说改成是啊,比如在Oracle当中,你改成up,这个全写成大写是不是也可以是吧。好,这个呢是我们说的这个大小写,然后下边这个呢叫做left,这个呢叫right啊这个比较简单。哎,Select一下啊,我们来一个left啊,我写一个hello啊,然后写一个二啊,来一个right。
14:01
啊,还是一个hello。啊,来一个三。嗯,来FROM1到是吧,好这呢,我们就拿这个普通的字符串来举例了,那这个呢,很清楚,就是这个字符串呢,我们取它的左边的啊,左边的几个字符,那取俩,那就是两个是吧,那这个呢,取右边的三个,那就是这个,那我这写一个13个。重来一下。CTRLC。13,那这个时候呢,会什么样子呢?那是不是就全取出来了。哎,可以是吧,好,然后下边这个呢,叫l pad和ipad啊,这个呢,大家可能稍微的有点晕啊,其实这块呢,就涉及到叫左对齐和右对齐的一个问题了,来我们看一下啊,我就直接呢来给大家举这个例子了,Select,比如说我们叫an employ employee ID啊,然后last a name。哎,比如说就说它吧,然后接下来的话呢,我们来一个这个叫l pad啊,这个我写一个,嗯,我写一个salary吧,啊有同学可能会想说,老师你这块放salary不太合适吧,我们这个呢,是字符串函数是吧?哎,这个呢,其实又涉及到一个隐式的转换。
15:09
那我这块写三呢,其实也能够通过相当于把我们这个,呃,这个相当于是数值类型的这个变量呢,直接就转化成一个字串了,相当于就是加了一对单引号啊,然后呢,我这写个十啊,这个不足的话呢,怎么办呢,这个我来一个星暂时。我们from一个这个employees是吧。哎,大家来看一下啊,或者你来猜测一下这是什么意思啊。来看这个结果。这个结果上来看的话呢,你会发现呢,我们这里边儿呢,补了一些这个星是吧,补了一些星,而且这个星呢,是左边来补的,怎么来理解呢?咱们拿其中一个来说吧,比如这个呢,是不是叫24000。那两万四的话呢,你看啊,首先两万四一二三四五,这是五位是吧,然后678啊,你要这样数的话呢,就是加上这个点是不是一共是有八位呀,然后八位的话呢,然后前面呢,补了两个星,是不是就凑够十个了呀,那我们再看这块啊,四千八这个是四位。
16:12
哎,然后加上个点,加上两个零四位,这是不是七位啊,七再加三个星是不是也是凑够一个十位啊,相当于我们这个十呢,就表示的是我们最后呢,一共是占十个位。占十个位,然后呢,呃,先拿这个呢去从,就是相当于你先把这个先写出来,写出来以后呢,整个占十个位,那要是不足呢,不足我们补星在哪补呢?L派的指的就是L就是left在左边。这个left是吧,哎在左边呢,去补这个星。啊,相当于比如说我们本身呢,这个要求是这么长,那现在的话呢,如果你这块只有这么长,那不足的话呢,去补星来在这边去补,那整个来看到呢,实际上是不是就是个右对齐的效果呀。哎,大家如果觉得不明显,我把这个改成个空格,那这时候你选中我们再执行,你看是不是就是一个右对齐啊。
17:03
那右对齐没问题。啊,那么在实际的这个开发场景当中啊,大家想啊,我我在这先写一下啊,这个咱们叫l pad,它呢,实际上能够去实现叫右对齐效果。啊,那同样的话呢,我们这个叫ipad。哎,他们呢,他呢是不是就能够实现。啊,叫左对齐的一个效果呀。没问题是吧,好,那么左对齐右对齐在实际场景当中,比如说像我们说这个工资的话呢,通常是不是都是右对齐的。啊,你说看谁挣得多,你就看它是右对齐的嘛,你就看谁这个帽的这个长啊,那谁是不是就挣得多呀,那一般呢,我们都是这个右对齐,那用这个l pad,但是在有一些场景下呢,我们需要呢去左对齐。啊,比如说比如说什么呀。有同学说身份证号啊,身份证号呢,差点意思,因为基本上大家身份证号长度是一样的是吧?哎,这个手机号呢,一般也都一样,哎,通常的话呢,我们可以理解成是不是家庭住址啊,有的这个住址短,有的这个住址就长啊,有的特别长,我们通常呢,是不是都是左对齐啊。
18:11
哎,要组对齐的话呢,大家就可以用这个叫啊r pad。那就躺是吧,行,这是我们说的是这一波,然后呢,我们再来看一看啊,下边这还挺多的是吧。还挺多的啊,所以这块呢,我们就这个不一个一个的全都给大家去讲了啊,这个呃,熟悉一下啊,有一些的话呢,我们需要去测试一下啊嗯,好,我们把这个呢再盯一下。好,回过来。嗯,看这啊,这个LM r trim和这个trim trim的话呢,如果大家你接触过其他编程语言比较清楚,这个trim呢,实际上是去除这个首尾空格的意思啊,比如说。哎,我先说这个trim。那嗯,这里边的话呢,比如说我们写一个嗯,我我这么着啊,Hello,我就写个hello吧。
19:00
这个哎,From一个到是吧,那这中间呢,这块也有可能会有空格,那这个tri的话呢,指的是去除我们这个现有的字符串首尾空格ya IG呢,就会把这些空格和这些空格呢给去掉,中间呢是去不了的,那我们选择执行一下。哎,同学说这说这个,呃,看不太出来了是吧?哎,因为你看这个,因为我们整个这个使用的名字啊,就是用的这个函数名比较长,所以你看不出来是不是首尾都去了。那怎么办呢?那办法呢,一方面我们可以是不是加一个这个lengths,你看这个长度是多少,是不是可以啊。哎,这样我们选中呢,执行一下长度是九,你看啊九一。23456789,哎是不是就这九个呀,好悬呀,是吧,多一个都不行是吧?哎,这是一种方式啊,那或者的话呢,大家你还可以怎么着呢,咱们是不是讲过一个叫contact呀,那我这样也行啊,嗯,这个呢,我们先整这个,比如说哎这样一个符号。
20:02
吹用完以后呢,我在后边这个再逗号一下,我再补几个,比如说这个星。这样子。哎,我看下这块少不少这个。啊,可以了是吧,嗯,这个跟它对应行没问题,然后这时呢,我们再选中啊大家呢,看它可能会更清楚一点,就是你看此时的话呢,H前边呢和这个O后边的这个空格呢,是不是都给去掉了,那中间这个呢,是保留的是吧,那就它好,那为什么先说它呢?因为呢,这个tri呢,表示的是首尾都去,而这个l tri呢,只去前面的,Rri呢,只去右边的,比如我们这块呢,我写一个L。哎,你看我们这种选中呢,去执行是不是呢,相当于AL相当于光去前边的是不是后边这个呢,就留着呢。啊,那个R呢,同样的道理我就不去说明了,好。呃,那下边这块呢,你看这个trim SE from s。这个呢,就有点儿意思了。啊,我这样逗号一下吧,在下边,嗯,这个呢叫哎,Tri。
21:00
然后1FROM s啊,首先呢,这个S1,比如我写一个叫OB。啊,From这个S呢,我们还写成是一个hello。啊,比如这样子。嗯,我这么着啊,补几个。哎,就这样啊行,选中呢,我们做一个执行,嗯,此时的话呢,它的意思呢,就是或者说这个呢,就更通用一些,我们上边呢,指明的就是去除首尾的空格是吧,或者是首或者是尾的,而这个呢,就是你去除的不止是空格了,你这块写什么,我就去除首尾的什么,那我这写的O,那就去除首尾的这个O,中间有O呢,不会给我们去除掉。啊就这意思,那比如我这块我写个O呢。O呢,你看这个O这个呢,是不是不够啊,所以呢,尾部的这个O呢,就没有去是吧,哎,这个道理。行,这是它,然后这个trim leading s SE,就是只去除这个头部的这个这个这个S里边这个SSE,然后那个training呢,只去除S里边这个尾部的这个S1啊,我就不多说了啊好,然后呢,下边。
22:01
Select叫repeat repeat就重复呗,重复呢,比如我们写个hello。啊,这个比较简单,大家一看能明白,我来一个四。From相当于呢,把这个hello呢这个重复四遍。啊,重复四遍啊,就这意思好,下边呢叫space space呢就是提供了一个空格的。那space我这写一个五,相当于呢,你就提供了五个空格。嗯,看不出来了啊,你可以呢,是不是填写这个叫Les。那去做个证明是吧,看它这个长度呢,是不是五就可以了。选中执行没问题是吧?好,那这是它,然后呢,下边这个STRCMP,那这个呢,就是str呢,就string字符串嘛,CMP呢就compare的意思,就是比较意思啊I tr啊CMP,比较一下这两个字符串呢,它的这个大小,哎,比如说我这里边写ABC啊,这是abd。那那我们说字符串呢,本身是可以比较大小的,怎么比啊,那第一个字符跟它比一样的,那第2B呢也是一样的,第三个C这个是D,那显然是不是后边这个D要大一些。
23:08
对吧,哎,反过来是负一,那指的就是后边这个数大啊,我这改成个E呢。走一下还是负一,哎,就是前面这个数减后边的数,如果后边的数较大的话呢,那自然而然它不就是负数嘛,那就表示后边的大,所以说得到的是负数呢,表示就后边这个大啊,你要是得到正数呢,就是前面这个大,零呢,就是它俩一样大。啊,就是它好,下边这块呢,叫sub ST。啊,Sub h2就是找到这个字符串啊,Sub呢,就是子子字符串是吧?哎,从这个字符串当中,从这个位置开始取这么多个字符,那就这个意思。啊,其实这块呢,大家,呃,这个基本上看到我们这个函数名的话呢,差不多也就是不是建明之意了。好,Index呢,我选图二啊,这个我也写个二吧。
24:00
从二开始就从它开始去俩是不是就EL啊。来选中执行,哎,EL出来了。是它啊行,下边这个叫locate locate呢,本身这个单词呢,是不是就是定位的意思。啊,Location是吧,这个像我们说的基于位置的叫LBS是吧?啊那么这个location,这个L呢,就locate就是位置的意思,那那就相当于是呢,我们返回字符串啊,就是这个呢叫子字符串,它在这个后边的字符串当中首次出现的位置跟我们另外呢,叫position或者in啊in这两个函数呢,作用是一样的啊好,那我们就a locate。嗯,子字符串我写一个叫L吧,然后呢,后边这个我就写一个hello。哎,这样是吧,那就相当于L呢,首次在我们这个hello当中出现的这个位置。那是哎一二是不是三呀,好,那我这要写个LL呢。L呢,是不是还是这个三是吧,那你要再多写一个。L呢,是不是就没有啊,那我们这个字串没有在这里边出现过,那反馈是什么呀。
25:06
反而什么呀。哎,这个注意返回是零。那你想想,因为呢,你要是出现的话呢,最小最小是一是吧,那就相当于是一上来就是这个字符串了,那你要是大的话呢,有可能是特别大,因为这个字符串可能很长,那你要没找到的话呢,那我就取一前边这个叫零,那就可以了。像咱们呃,Java当中的话呢,我们说这个字符串在这个里边首次出现的位置,如果没有出现的话呢,是不是返回叫负一啊啊为什么叫负一呢?因为Java呢是从零开始的,你要说诶你这个index of是吧来说首次出现位置我们有可能啊,就是最小的话呢,返回零其实是找到了,就是头部嘛,一上来就是。啊,那要没找到呢,就是零,前面这个取得负一,而我们这呢是从一开始的,所以没找到呢,就是诶取的是零啊。这叫locate,好,然后下边这个呢叫ert,哎,看着挺有点意思啊,Ert呢,什么意思呢?说呢,哎,如果我们这个M是一呢,我们就把后边这个一串字符串当中的这个第一个位置呢取出来,你看二呢,就取第二个啊,你写的几我们就取第几个啊,就是这样的一个意思。
26:15
Select啊ert是吧,然后这里边儿我们写一个,比如二吧啊,这来来一个。A。B。这样是吧,简单一点,我这写个二呢,是不是就把这个B呢给我们返回来呀。没问题是吧,哎,就这个意思啊,比较简单好,下边这个呢叫做field,这个field的话呢,返回字符串,S在字符串列表当中第一次出现的位置。啊,第一次出现的位置好,那这块呢,我们这么着啊field。嗯,找到我魅族串,我这写一个。美眉吧。哎,然后后边呢,来一个这个,哎。这是啥呀,哥哥啊,姐姐。啊,这个看。
27:00
妹妹是吧?啊,还差一个弟弟是吧?啊,再来一个这个妹妹好这样哎,找到这个字符串,在后边这一个字符串列表当中,首次出现的位置就它呗,是不是就一二是不是三呀,好,选中执行,那这就是三,那后边还有那我们只找首次出现位置嘛。这它啊,好,下边呢叫find in instead,那此时上还是找SE,只不过呢,我们后边呢,是以独立的那个呃,字符串一个一个的输出的啊,我们这里边是把它放在一个S2当中了啊set嘛啊,我们就写一下啊find啊,In set是吧,那比如我们这边还是找这个美眉,然后后边这个怎么写呢,咱们就可以是呃这样了啊哎,整体来讲呢,它是一个。诶,多了一个他。整体来讲的话呢,这是一个呃,字符串的一个叫列表了,中间用逗号来分割,比如就刚才还是这个啊嗯,哥哥,哎,妹妹姐姐弟弟哎,再来一个妹妹,再来一个哥哥是吧?好,那这呢,其实说白了啊,还是多个字符串,然后呢,找首次是不是就这个位置。
28:07
来选中啊执行一下。啊,这个呢,报错了啊。From down啊,这个位置不能加这个分号了。好,选中执行好这位呢是二啊,这不是一二没问题是吧,好这呢叫find in set,好哎这个呢,我们说完之后的话呢,你看后边这块还有两个,第一个呢叫rewardse rewardse呢就是反转啊,你这写一个ABC啊,反转一下就是呃,CBA是吧?啊这个我就不演示了。这个now if啊no if这块说一下啊,如果这两个呢是相等的,哎,那么就返回是一个no,那如果要是不相等呢,就把前面这个返回,哎,这叫no if来,这个我们可以写一个,比如针对于我们这个员工表啊,Select我们叫哎,No,先写个它吧,哎,Lo ID是吧,然后呢,哎,No if啊,这是个函数哈。后边呢,我们还会讲这个叫if now。
29:00
If now的话呢,是流程控制里边的一个啊,这个呢,是咱们字符串的这个呢,我写谁呢,咱们写一个叫哎,First。Name。还有last name是呢,相当于from employees。相当于呢,就是说如果这个姓和姓和名要是相等了,怎么怎么着,那一般的姓都不可能相等是吧,所以这块我怎么办呀,我这样处理一下,咱们加一个length。我加个length。那就是说呢,它俩的长度对吧。如果我们姓这个,姓的这个长度跟名的这个长度,它俩长度要是相等了。相等怎么办啊?相等的话呢,返回nor是吧。哎,返回no,那要是不相等呢,就是把这个我们前面的这个值给返回一下啊,就是这个意思啊,这块我也写一个,比如叫details是吧?啊或者我们叫这个compare吧。
30:01
哎,Compare。哎,这个叫compare,好来选中啊执行啊出来了,好,凡是大家看到这个no的位置呢,就表示它的,呃,这个姓跟名呢,这个长度是相等的,那要是返回的是具体的数值呢,它其实代表的就是我们first name它的一个长度。哎,就是这个意思,好CTRLS保存一下,那么这样的话呢,咱们就把这个呃,字符串这块呢,就给大家呢,就讲解清楚了。啊,这块呢不少是吧,那整体来讲的话呢,这个字符串刚才我演示的一些这个函数当中啊,这个相对来说,对于我们说这个数值类型来讲,数值类型里边呢,大家主要关注的就是这个基本的这个函数是吧,那字符串这块呢,整个大家都稍微的关注一下,咱们在写这个SQ的时候啊,大家就可以根据你实际的这个字符串的操作,哎,选择我们这里边的这些函数呢去使用哎就可以了。啊,这里边儿呢,有一些,大家如果要不熟,你下来练一练啊。
我来说两句