美文网首页mysql 知识库我爱编程
单行函数_字符串函数_数值函数

单行函数_字符串函数_数值函数

作者: 糖砂西红柿 | 来源:发表于2018-06-20 11:04 被阅读24次

单行函数

现在大部分关系型数据库的操作都是类似的,唯一的区别,个人认为有如下几点。

  • 数据存储的区别,不同的数据库有不同的数据存储方案;
  • 不同的数据库支出的类型也是不同的。大部分关系型数据库不支持Boolean值。
  • 不同的数据库有不同的支持韩束。意义不大,但是很重要。意义在于跨数据库开发。所以意义不大。

大部分的函数都是不需要去可以记忆的。而且对于函数可以直接通过网络查询。在Oracle之中,针对于系统函数定义的基本格式:返回数据类型 函数名称(数据 | 列名称),返回的数据类型基本上只有三类:

  • 字符串(VARVHAR2)
  • 数组(NUMBER)
  • 日期(DATE):这一点oracle的日期比较mysql比较特殊,oracle的日期是由日期+时间组成。
    根据功能,在oracle之中针对单行函数分为以下几类
    1.字符串函数
    2.数值函数
    3.日期函数:避免闰年闰月问题
    4.转换函数
    5.通用函数
    用的时候拿出来就行了不用强记。

字符串函数

字符串函数主要功能是进行字符串的处理,例如:转大写,转小写,计算长度等等。常见字符串的函数有如下几种:

序号 介绍 函数体
01 转大写函数 UPPER(数据 | 列)
02 转小写函数 LOWER(数据 | 列)
03 首字母大写函数 INITCAP(数据 | 列)
04 计算字符串长度 LENGTH(数据 | 列)
05 字符串截取 字符串SUBSTR(数据 | 列,截取点[,长度])
06 字符串替换 REPLAcE(要替换的数据 | 列 , 替换数据)

如果现在要想进行以上的函数验证,在oracle里面必须要明确的写出完整的SQL语句。(何为完整,必须有SELECT与FROM),但是如果真的这么使用了,就会有一个问题:
SELECT DISTINCT UPPER('HELLO') FROM emp;如果这样使用的话,就跟查询常量没什么区别了。所以
很明显,直接使用一张实体表进行查询是没有任何意义的,所以这个时候方便做法我么可以这么进行。我们可以直接使用oracle内部提供的一张虚拟表完成。这张表的名字为dual。
SELECT UPPER('hello') FROM dual
以上就完成了函数的验证(直接使用真是表的话,有可能数据量很大,时间长,做了没有意义的查询,所以使用oracle提供的虚拟表进行验证)
为什么要有这些函数呢?
1.在进行数据保存操作的时候,必须考虑到一种实际的情况:用户在进行数据添加的时候,未必会正确使用大小写,如在根据姓名查询的时候,用户输入的数据很少会考虑采用大写字母。

图片.png
用户输入的时候,很少会手动切换大写的SMITH,这种情况下,**为了保证数据查询的准确性,就需要将用户输入的内容自动变为大写字母保存,此时就可以使用UPPER()函数,来解决设计问题。
即:SELECT * FROM emp WHERE ename = UPPER('&inputname') ;
在很多系统设计的时候都没有考虑用户输入的用户名大小写问题,因为在用户注册的时候都是用了UPPER()函数将用户名变为了大写字母。
2.lower函数,场景
查询所有雇员姓名,要求姓名的字母采用小写字母表示。
SELECT LOWER(ename) FROM emp ;
这句话就是,从emp表中找到所有的ename数据列对应的数据行,然后再将所有的ename变为小写字母的形式。
3.将所有雇员名称的首字母变为大写处理SELECT INITCAP(ename) FROM emp ;
4.替换函数
图片.png
图片.png
5.计算字符串长度
范例:查询出每个雇员的姓名、 姓名的长度。
图片.png
图片.png
对于数据行的筛选在WHERE子句中执行。
SELECT length(ename) nl FROM emp WHERE ength(ename) = 5 ;WHERE在SELECT之前执行,所以无法使用"nl"这个别名。
6.字符串函数里面最有意思的就是一个字符串截取函数:SUBSTR();
主要用法:
1.由指定索引截取到结尾。(oracle中字符串开始的值为1,但是如果设置为0则与1一样。)
SELECT SUBSTR('hellowold',5) FROM dual;什么叫5呢?从一开始数到第5个。即从第五个截取到所有。
SELECT SUBSTR('helloworld',6,2)即从6开始截取2个。
从零开始取五个与一开始取五个。结果没有区别。
索引的值也可以为负数,表示由结尾开始的指定索引开始。
图片.png
输出为world。
范例:
图片.png
图片.png
如果没有负数,就需要我们自己去计算截取点(通过计算出长度然后...)

数值函数

数值函数的功能主要是进行一些数字的操作,提供有如下三种常见的操作:
1.ROUND(数据 | 列 [,保留小数位]):进行四舍五入处理。重点
2.TRUNC(数据 | 列 [,保留小数位]):进行数据截取-非四舍五入不进位。
3.MOD(数据 | 列 ,数据 | 列 ...):求余数。

图片.png
图片.png
只有当经过FEOM与WHERE限定之后,这样就会找到所有你需要的数据行,SELECT是对挑出数据列或者对经过前步找到的数据进行计算。比如单行函数,四则运算,去重复,别名等等。
范例:数据截取:
图片.png
范例:求模计算

相关文章

  • 单行函数

    所谓的单行函数就是完成某一具体功能的操作函数,单行函数一共分为一下几种:字符串函数、日期函数、数值函数、转换函数、...

  • 单行函数_字符串函数_数值函数

    单行函数 现在大部分关系型数据库的操作都是类似的,唯一的区别,个人认为有如下几点。 数据存储的区别,不同的数据库有...

  • oracle函数

    单行函数:字符函数 数值函数 日期函数 转换函数 通用函数多行函数:sum() avg() 仅适用于数值型c...

  • 函数

    字符串函数 数值函数 日期函数 流程函数

  • 7.表的查询

    7.1 单行函数 7.1.1 字符函数 接收字符输入返回字符或者数值, ,dual 是伪表 7.1.2 数值函数 ...

  • 2、单行函数—数值函数

    Round 如果num_digits大于 0(零),则将数字四舍五入到指定的小数位。 如果num_digits等于...

  • 撩课-Mysql第14部分常用函数

    函数介绍 函数分类 字符串函数 数值函数 日期和时间函数 流程函数 其他常用函数

  • Oracle_SQL_day02_SQL函数

    1、单行函数 字符类型(character) 数值类型(number) 通用函数 2、多行函数 又称为组函数或聚和...

  • sql函数

    单行函数 单行函数:对单个数值进行操作,并返回一个值。 分类: 1.字符函数 1)concat(a,b) 拼接a,...

  • SQL操作指南五(函数)

    函数 函数的种类函数大致分为以下几类:①算术函数(用以进行数值计算)②字符串函数(用以进行字符串操作)③日期函数(...

网友评论

    本文标题:单行函数_字符串函数_数值函数

    本文链接:https://www.haomeiwen.com/subject/kojtyftx.html