ORACLE SQL 转换函数学习总结

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Oracle sql*plus  PLSQL Developer

撰写时间:2019年03月28日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ORACLE SQL的转换函数是属于单行函数,单行函数又分为字符、数值、日期、转换和通用五大类型函数,所以一般学习单行函数都是从字符函数开始学起,然后到数值,依次类推往后面学,然而这就会让人产生思维误区,又或者说习惯了一种思维然后很难转变过来,特别是到转换函数这一块的时候,特别难转换过来。

自己个人就是这样,当初学习转换函数的时候,根本就是一脸懵,转不过来,尤其是转换函数里面的to_date和to_number这两函数,就一个to_char很好理解,基本听一遍就学会了并且可以自己使用,而转换函数就to_char、to_date和to_number这三个函数,就三个,然后自己不会的有两个,当时的心情真的很着急,因为单行函数都学了字符、数值和日期前面三大类,都到最后了,不可以把转换函数给丢了的,所以自己仔细分析了一下,应该是前面的字符、数值和日期三大类函数影响的,还有to_char这一个函数,为什么呢,因为无论是字符、数值、日期三大函数,还是to_char这一函数,它们都是可以用单独的字符串和表格数据来使用,如下图:

    从上面两个图中可以看到,INSTR、ROUND和MONTHS_BETWEEN都是可以写单独的字符串使用,也可以用表格查询数据使用,INSTR是字符函数,ROUND是数组函数,MONTHS_BETWEEN则是日期函数,而to_char这一转换函数是只能查询表格数据是使用,然后单行函数都可以查询表格数据时使用这一思维就形成了,这导致了对转换函数的错误使用,如下图:

扫描二维码关注公众号,回复: 5791641 查看本文章

而正确的使用,则是这样子的,如下图:

与to_char相反,to_date和to_number只能把字符串转换为时间和数字类型,查询表格数据是不能使用,所以之前顺着字符、数值、日期三大函数形成的思维就变成很大的思维误区,会让一下子根本转变不过来,从而产生一种焦虑,不敢继续往下思考,续而产生逃避的念头,这就是个人学习转换函数的经历,也因为这个,自己花了将一个星期时间才理清楚,期间真的产生过跳过这两个函数不学的念头,不过幸亏自己并没有遵循这念头行动,而是反其道而行,花更多的时间去练习和思考这两个函数的语法,甚至用最笨的方法去熟悉它,那就是找一堆的例子去练习,练习一遍不行就两遍、三遍、十遍,甚至百遍,直到自己理解透了为止,好在自己没有笨到一定程度,练习到十几遍解决二十几遍和接近一星期的思考,终于成功理解了,皇天不负有心人这是非常正确的说法,只有不停的努力和奋斗,你才能成功!

以上就是个人学习转换函数的经历,虽然花了不少时间,但终于还是成功了,而理解之后,感觉自己之前真是太笨了的感觉,因为to_date、to_number只是和to_char相反而已,只需要反向思维就能够快速理解,而且转换函数,转换函数,顾名思义就是转换类型用的,而to_date用中文翻译就是转向日期的格式,to_number则是转向数字的格式,既然是转换格式,明显就是用于需要转换格式的字符串,才能使用,并且字符串格式还要符合日期的格式和数字的格式,才能够转换,而表格数据本来就是属于某一种类型,根本就不需要转,只有查询显示的时候需要显示不同格式,这里用的能就用到的就只有to_char一个符合了,所以这样一想就感觉转换函数好理解多了,有了对的思路就可以理解需要理解的知识点!

以上就是个人的学习转换函数的中遇到的难点及解决办法。

猜你喜欢

转载自blog.csdn.net/qq_33763877/article/details/89051738