00:22
好,我们先来回顾一下,在Java里面,我们能写这种东西就点c number。那么一行,那么在加我中,我们称它为一个方法,可以接收一个或多个参数,在方法内部完成一系列的运算,最终返给用户一个结果。
01:06
接收一个或最后参数,完成运算,返给用户一个结果。那在or里头也有这种类似的东西?面向对象里,我们称它是方法,在面向过程中,我们称这东称这种东西称为函数。那我们看一下这个。函数。From young皮该。
02:05
L。函数后面是要加小括号的。那这个是函数的参数。看一下它执行的过程。一个函数可以接收一个参数,返回一个计算结果。那这是烂函数,计算你的参数的长度。史密斯的长度是五,艾伦的长度是五,这个的长度,每个名字的长度是多少?这是奥瑞中的函数。函数用于执行数据处理和复杂的运算,对一组数据进行一系列的运算得到。
03:04
一个最终的输出结果,一个或多个的输入称为参数,在函数内部执行运算,但是在运算的时候可以出现一个,但是最终只有一个结果返给用户。像我们在计算那个出租车费的时候,运算的过程中可能出现很多变量,但是最终我只有一个结果会返回给用户。可以出现在搜狗语句的各个位置,所尝试出现在查阅列表中,现在我们不就让它出现在查询列表中吗?函数可以有一个和多个参数,最终有一个输出结果。注意和加号中的方法有区别,加号中的方法可以有返回结果,可以没有返回结果,但是Oracle里的函数必须要有一个返回结果。
04:01
那我们在这它length函数返回的是一个数值,返回它的名字的长度。根据对参数输入的处理方式,分为单行函数和多行函数。现在我们看这个函数,烂函数。他是。每次。每次取。一条记录作为函数的参数,先取出来,史密斯。把史密斯当做这个函数的参数。作为函数的参数。得到这条记录对应的。
05:00
单个结果。这种函数被称为叫单行。函数。那我们再来看一个函数来p marks赛。求它的最大工资。先看这里面最大工资是多少。最大工资是5000。走。
06:00
这个函数和上面这函数有什么区别?上面这个我是取一条记录当做函数的参数,这个呢。我总共有14条记录吧,他说,一次性的把这14条记录当做参数,输入给列函数,得到14条记录对应的单个结果,14个工资中值最高的只有一个呀。这种函数叫。多行函数一次性的。把多条记录当做参数输入给函数,得到多条记录,应多条记录对应的单个结果,这个称为叫多行函数。
07:13
函数称为单行函数、多行函数。单行函数每次输入一条。然后这儿每次输入多条。单行函数用于从对单行数才能进行计算,每次在每一行中取出的值当做参数。我第一次先取出来第一条记录史密斯,把史密斯当做参数出一个函数。得到这条记录对应的结果。第二次我取出艾伦,把艾伦当做参数数给函数,所以得到第二条记录对应的结果。每条记录都会有相应的结果。单行函数可以完成复杂的运算,可以对数据类型转换,还能对特殊类型进行处理。函数还可以嵌套。
08:07
就像我们在Java里面。这样。再写一个。樱桃。这里面之行一个错误循环,I等于零,I小于100II小于,那么我就随便写个大概的意思,I加加。Res等于零,这里面把它累积起来加等于X对称I,那我在调用的时候我可以算吗?哎,十二十。
09:19
可以这样写吧,先算。里面这个。然后把里面这个结果当做参数输入给三函数,Java中函数可以嵌套or中同样也可以。函数分为or中,数据类型分为三类,字符型、数值型、日期型,那分别有字符函数、数值函数、日期函数,然后还有转换函数。三种类型之间如何转换,然后还有其他函数,主要是对空值进行处理的。
10:01
这是单行函数的分类,那我们先来看字符型的数据,对字符数据来处理有什么呢?它的函数哪有呢?那怎么得有帮助啊?函数大全。它的比如说lower函数,Apple函数in need,知道吧。字符型函数。Love。函数,它的参数c correct表示的是字符,它的参数是一个字符,看这参数字符型的返回的是一个字符型,将字符全部转化为。那转化为小写的。
11:02
Apple转化为大写,那我们看这个函数怎么用?字符对数字符进行处理,Select e young well if name等于啊。SI查询史密斯的信息。能不能查到SI,我没写错行不行?查不到,查不到,因为奥瑞对词后语句不区分大小写,但是对字符型数据是严格区分大小写的。
12:03
你这样找肯定找不到,那怎么办呢?我用纳尔函数。把你的name转换一下。转换之后,我再去和史密斯比较。有什么问题朋友们?题。转化成小写呀。但是我们转换之后影响原来的数据吗?他只是说把这个当做参数得到一个计算结果,并不使用函数的时候,并不影响原来的数据。把它转化成小写之后再去比。
13:08
嗯。一那找史密斯找不出来了,那既然有转换小写的就有。转化成大写的。把它转换成。大写之后再去比较。你,你的看,仿佛一种驼峰似的。把第一个字母大写,其他的字母小写,这个工具虽然很好,就是唯一的一个问题是啥呢?
14:10
他不给我们出提示。然后再找这个。那这用need cup,我们看看它是什么1NAME。然后把这个原来的值是什么,转换之后的值是什么。原来是什么意思,转换之后变成这个。这样不就可以了吗?转换成首字符大写的,然后conca sub SR lines in SR这一系列的函数con。Java里面也有,字符串里也有这个方法吧?
15:01
把一个字符串拼接到另一个字符串的末尾。连接。来凉皮。这是羊品。那么欣赏一类康羊皮number内。两个参数,把两个参数合并起来就相当于这个。7369史密斯,7369史密斯就相当于是这个合并,合并字符性数据的这个双等双竖线。然后萨白霞。
16:10
C1里面从字符串功能截取子串,从字符串C1里面。从第N个。在字符串CE从N一开始取N2的字符,若不指定N2,直接取到字符串的末尾,从N一开始取到N2取取到N2的字符。STEM young be内,然后这是萨巴加。一那从一开始取,取两个。
17:10
从一开始取,取两个s maw100分号,截取字符串,跟加里那个没什么区别。Length,刚才我们计算过,求这个参数的长度。In SR有点类似于index of。In s tr。C1C2功能,在第一个字符串中搜索指定的字符串,返回它的指定的位置。
18:02
参数搜索的开始位置默认是以第几次出现的位置开始,一中括号可有可无的。From ya。然后。印啊家。找A。没有。没有返回零,A出现在第一个位置,这个A出现在第三个位置,A出现在第二,注意它没有不是返回负一,返回的是0IN啊。
19:10
L PA left left right PA。L。在字符串C1的后边,右、左边用C2来补齐,直到长度为N为止。LP。凉皮。塞了写成。十位的不够的话,用星来补齐。
20:07
RP。不够,用井号来分析。我故意写成这样。Or对函数同样不需了,哪要写?把这个塞写成十位,不够的话在左边不行,把塞写成十位,不够在右边补井号。L PA left PDA,然后tri清空它的左右两边的。
21:01
Tri跟加入里那个tri一样,然后看看这个重置。Replace。把C。将字符串功能。将字符串表达式的部分相同的替换成新的参数C1希望被替换的被替换的。八。它换成I。羊。这个帮助做的比加我那个帮助强多了。
22:00
底下每个都有个小的练习,小的习题就是小的例子。然后replace。把A。替换成小A。没有当然就不替换了,找到之后。把大A替换成小A。替换。转换大小写的函数SSRSR这些字符处理函数。然后数字函数。数值函数。
23:03
主要是round四舍五入,四舍五入。截取的。然后是mod,求余的四舍五入。美化一下。Round四舍五入的45.943经区,这是四舍五入的小数点后两位。四舍五入到零位。那就是精确到。个位啊,四舍五入到小数点后负一位。
24:00
Java里头是没有这么说的,但是奥瑞里头可以。从哪个表呢,注意。从SYS用户下的dull表去看。这是我们用到其他用户下面的表,我们要用其他用户的方案名表,什么什么格式。从SYS用户的DV表中去查,注意这精确到小数点后两位小数点后。零位,也就是个位,得46,精确到十位,50。四舍五入。截取。截截取到小数点后两位,它不管后面这个四周五截取到个位,截取到十位。
25:04
截取到个位,就把后面的根本就不考虑四个五,直接咔掉,截取到十位,把后面的卡掉,直接得40。然后还有一个mode的计算,两个值之间。气球鱼的帽子。这里头我们有点看不懂,我们。From young1name s Mo s。7369。7369,史密斯的工资是800MO,塞了300。
26:03
史密斯的工资除以300之后,余数是多少?余数是200,求余的没?然后日期函数。日期函数。对日期型的数据进行处理,得到。日期或数字or内部存储格式是年、月、日十分秒。缺省的,然后看它的。S swim sy。
27:05
显示格式,年月日十分秒这是它默认的显示格式,但是缺省的使用格式是日月年。Platform。阳性。对。R等于。这样是找不出来数据的,而且会报错。它缺省的使用格式是日月年。
28:00
20杠二注意还得加一个月杠1981还得加个月才可以找到显示格式年月日十分秒使用格式是日月年。That返回当前的日期。可以用算术运算符从日期上加减一个数值,得到一个新的日期。Holiday加90。得到它的转正日期还减九时,可以加减一个数值,得到一个新的日期,两个日期相减得到它们相差的天数。装凉皮,凉皮南,然后是。啊。
29:03
She said。C减。二得出来的是两者相差的天数。我们让它除以365。工作多少年?2014年1980年。工作了33年了,但是小数点后词多了。精确到小数点后零位,也就精确到个位。
30:06
33年。两个日期相减。得到的是两者之间相差的天数。刚才我们不是说日期型的不能进行乘除运算吗?你这两个日期相减得到的是一个数值,对数值,当然可以进行乘数运算了。日期不能相加,日期也不支持乘数运算。它的一些函数。A month2个日期之间相差多少个月?那现在我们让他。除以。刚才我们计算它两个日期之间相差多少年。
31:08
那如果说我们计算两个日期之间相差多少个月呢?那我这会除以。30呗。注意这个只是我粗略的计算呢,你咋知道一个月就是30天呢,一个月有28天的时候呢,还。这时候精确的算法咋办呢?Most between。两个日期之间相差多少个月?Most between d带给他两个日期。Mo between。
32:04
这号so。来看下这个题。这时候就看出来精确的了。407周407个月,这是四百零一个月。哪个是准确的?肯定这个是准确的。如果奥瑞连这点东西都算不准,就没必要成为世界第一大软数据库厂家了。这个肯定是准确的,他考虑的那种闰年闰月这种情况不用我们再考虑了。A Mo Mo between a在一个日期上加减若干个月,得到一个新的日期,我们上午计算过他的转正日期。然后number are,然后我们是用这个是雇佣日期。
33:11
我们自己计算的结果是什么呢?是用它的还在加90,当做这个是粗略。粗略。转正日期,那我们精确的转正日期。爱的帽。在一个日期上加减N一个月。阿尔塔加减三个月。
34:03
这是精确的转正日期。87年3月十,这个还没错,没错,这个注意这就差了一天了,哪个准,肯定是这个准。爱的帽。Next date,从现在开始,下一个指定的星期几的日期,Next date。看他这个意思。从现在开始。下一个星期一是多少?直接看他这个代码。
35:04
因为我们是用中文的,所以这要用星期一,星期二。从现在开始。下一个星期一。6月8号。啊,下一个星期九号,下一个星期20号,下一个星期三,星期四星期五,下一个星期六是多少。从现在开始,下一个星期六是多少?七号。从现在开始。下个。当前日期,下星期一。九号星期二,下星期六,七号下个星期日。从现在开始,下个星期是八号。
36:04
从现在开始了,下一个指定日期。Last,你指定那个月的?最后一天是什么?Last day。杨一,Name。他的雇佣日期是12月那十二八零年12月的最后一天。肯定是2月31号,这个是81年2月22号,81年2月的最后一天,肯定是28号。
37:07
当前那个月的最后一天,这同样可以对日期型的数据进行截取,对进行四舍五入进行截取。精确到把它精确到月。Round。现在的日期。接近零点的日期,对它进行截取。现在的时间接近哪个零点呢?
38:00
现在是。六月。6月5号02:38接近哪个的零点呢。是接近6月7号的零点呢,还是接近6月6号的零点呢?肯定接近6月7号的零点啊。最接近的星期日。最接近的星期日,6月8号,最接近的月初。现在是六月,肯定接近六月份的月初啊,最接近的。寄出。123是一季,456是一季,七是一季,接近这个第三个季度,接近的年份肯定接近一四年的年初。
39:01
四舍五入,然后截取,然后转换函数。转换函数。转换有两种方式。也是。然后也就是自动转换,然后是手动转换。From EP dp number等于。三十来的先注意在这哈。
40:03
第一批number是。竖直型的吧。但是我在这给他了一个字符型。会不会出结果呢?可以啊,你这dp number啥类型的啥类型,我们可以从这看一下艾达。Dpd number是number类型的呀,但是在这儿我却给他了一个字符型。Or在这儿自动把字符型的转成了数值型,这就是隐式转换。那我们还可以去自己去进行手动的转换。Or中一共提供了三种类型。有。
41:02
竖直型。竖直行。字符形是梯形,那我可以把数值转化成字符。它叫图差。图差转化成字符,那我也可以把日期。转化成字符。也叫图差,那我可以把字符转化成数值。叫那把字符转化成日期。
42:04
哎。一共是三个函数,注意这儿出差实际上是一个。只不过是它转换的参数不一样,这是把数值转化成字符,这是把日期转化成字符。三个函数四种用法那。我要把一个数值。转化成日期呢?比如说这一个1000。我要转化成字符,得到的是。这样格式的。那我要把它再转成日期呢。先是to差,然后再to data行吗?
43:02
你的日期转换的时候得有特定的格式啊。这种格式的字符才能转成日期啊,你把1000怎么给我转啊?别想着说从这到这,先用to叉转化成字符,再把字符转化成日期,没这么想的。只有特定格式的字符。才能被转化成日期,没有从这到这这么说。三个函数,四种用法。兔拉兔带两个兔叉。那我们先来看一下出差。我们把日期。转化成。上。回顾一下Java里头我们怎么样去格式化。日期来了。家务里面,我们怎么把日期格式化成我们想要的样子来了。
44:09
Format,那我在new一个simple data format的时候,我要给他一个模板啊,YY。杠MM-ED,我要给他指定一个模板。凹这个里头这个和它非常类似。你在格式化日期的时候,按照什么样的模板来进行转换?对于日期型的数据,必须要用单引号括起来,大小写敏感的。然后任何有效格式,那我们可以用四位的年,然后月日,星期。在全拼星期的缩写。
45:02
Slap from young。然后这是。Number。然后to。等于。这个找不到数据吧,不是找不到数据报错。那我这儿可以用粗叉把它转换一下。图啊。显示成什么格式呢?显示成Y你。
46:09
嗯。月MM日大MMDD。MMPD。没有啊。那我们看转换的结果是什么?把它放到这儿来。嗯。我们显示两位的月啊。这不就找到了吗?
47:01
涂在出差。我们年月日后面我们也可以指定十分秒。上午或者是下午24小时还是时间小时,22小时指定分钟,指定秒钟,指定序数词,还可以指定特殊的字符,再比如说冒号什么的。年月日。十、十是。HH24。哎呀,妈呀。
48:01
十分。秒SS。然后am。看他当时那个时间是什么。你那个日期没有指定十分秒,它就是00:0000:00:00。From。无聊。把。
49:00
我们按照我们自己的格式去指定。年月日十分秒。这是它默认的格式,我们可以按照我们的格式指定它在哪。图差。这是24小时十分秒加上午下午DD,这个日期是月份中的第几天?然后这解差第十几天。你指定它的年月日十分秒加day day是啥意思呢?星期几啊?Day星期,我们给它加上星期。
50:02
现在是。星期五。跟那个simple format非常类似。然后出差把数值。转化成字符。这是图。把日期转换为字符。图差把四数值转换为字符,转换数值的时候同样给他指定一个模板,就像我们在格式化那个下载进度的时候,有一个。
51:10
Number format还记得吗?记不记得了,不记得了。哎,讲过什么就忘了。Laor。Number format是一个抽象类,那我们用一个mail format。我指定的加百分号。指定小数点后显示几位?和。这个出差用法非常类似。Select from EP s。
52:00
然后是把它的图啊塞了,是个竖直形的转化成。什么格式呢?我得给他指定一个模板。九。有数字就显示,没有就不显示零。没有该位没有数据就强制显示加一个本地的,加一个美元符号,加一个本地的货币符号,小数点千分位。那我给它显示成。999.999.00。加上那个美元符号。把这塞给我显示成这么多位。然后。差。然后还是这个塞给我显示成。
53:01
L加那中文的半只羊。然后000把千分位000.00。P number等7369。7369的工资是800。显示成999这个他们前面注意这哈,前面三位千分位,前面这没有啊。没有就不显示啊,加了一个美元符号,这个没有。没有,你强制显示零。这儿不是强制的显示零,然后加了一个千分位,然后加800,后面零零。
54:00
有就显示。这个是有就显示,没有就不显示,这个有就显示,没有你就给我强制显示就行。出差。然后图拉。把一个字符型的转化成。数值。那么。把字符型的数据转回数值。From。D有,然后这哈,我这哈有一个凸。
55:08
No。有这么一个字符。转化成数值,转化成数值,你这个得给他指定一个模板啊,注意你模板。和这个字符格式必须要匹配。你的字符里面有这美元符号,那我的模板中必须也要有这个美元符号。转换的结果就是800,那如果说这个模板不一样。我这明明用的是那中文的货币符号,但是你的模板里却只用使用了美元符号。
56:03
无效的数字模板和字符的格式必须要一致。字符的格式和模板的模式必须要一致。土,那么土对。把字符型的数据。转为日期。That from d well DA等于。
57:06
From氧等于。这个。肯定是找不到,不是找不到是报错,那我们可以用to that。把它转换一下,显示成YYYY-MM-DD。这样不就找到了吗?把这个注意这是当成什么。这是什么?这是字符吧,这不指定的那个模板吗?你必须要按照它的格式一致才可以。
58:02
To date。嗯。好,我们先休息一下。
我来说两句