SQL语言的常用函数

本人心情:今天忽雨忽晴,一个周末又这么要过去了,总是感觉时间过得很快,不管是上班时间还是下班后的时间,总感觉时间不够用。最近博客也越来越少,有些知识用简单的文字去描述是很的抽象的,所以有时候也没什么可以写,以下是我这周抽空学的SQL语言常用函数。希望对大家有所帮助。

SQL语言的常用函数 非常多。平时也许我们没经常用到,但是要用时,却不知如何使用。在这里,我举例几个常用的SQL常用函数;

字符函数

事例一:检索商品表,把商品价格后面加一个“元”字(商品价格比如为20)

分析:这题可以使用字符函数拼接concat或是“||”这个拼接符去完成上面的需求,

select concat(price,"元") from es;或 select price||"元" from es;

事例二:检索用户表,如果用户名为空,则用“路人甲”来代替

分析:这个例子,可以看出,如果用户表中的用户名是空的,在表中只会显示空,而需求是把空的用户名换成“路人甲”,那我们可以使用NVL函数进行判断转换

select NVL(name,"路人甲") from emp;//当name有值时,就显示()中第一个内容,如果是空的,就会显示第二条“路人甲”的内容

数字函数

TRUNC函数:TRUNC(COLUMN|EXPRESSION,N);

说明:TRUNC函数是截取函数,从N中来决定截取第一个参数的多少。

1.此函数可以只有一个参数,那么此时第二个函数N将默认为0;

2.N可以是正数,也可以是负数,正整数时表示截取小数点后面的位数,负整数时表示截取小数点前的位数

事例:我们在dual表中创建如下语句(DUAL表为虚拟表,在Oracle中dual表只包含一条记录,并且任何用户都可以读取,此表常被我们用来构造我们的语法结构)

1.SELECT TRUNC(45.926) FROM dual; 结果为:45(第二个函数N没有,就默认为0,)
2.SELECT TRUNC(45.926,2) FROM dual:结果为:45.92(N为正整数2,因此第一个参数位数要向小数点右边截取2,只留下2位前的数据)
3.SELECT TRUNC(45.926,-1) FROM dual;结果为:40 (N为负整数-1,因此第一个参数位数要向小数点左边截取1位,因此为40)

ROUND函数:ROUND(COLUMN|EXPRESSION,N);

说明:ROUND函数与前面的TRUNC函数的截取方式是一样的,只是他截取时会四舍五入算法,我们也称ROUND函数为四舍五入函数

1.SELECT TRUNC(45.926) FROM dual; 结果为:46(第二个函数N没有,就默认为0,小数点右边的为9,则要四舍五入加1)
2.SELECT TRUNC(45.926,2) FROM dual:结果为:45.93(N为正整数2,因此第一个参数位数要向小数点右边截取2,只留下2位前的数据,第三位数为6,则要四舍五入2变3)
3.SELECT TRUNC(45.926,-1) FROM dual;结果为:50 (N为负整数-1,因此第一个参数位数要向小数点左边截取1位,45中的第一位数是5,则要四舍五入,因此为50,)

事例:检索商品表,在检索结果中对商品价格进行四舍五入处理(精确到小数点后两位)

SELECT ROUND(p.price,2) AS "四舍五入后的价格" FROM es p;//AS为给前面的字段加一个别名

另外,TRUNC和ROUND函数不只是可以对NUMBER类型进行操作,也可以对DATE类型的数据进行操作。因为用得少,因此在这就不在描述,从上面的说明与事例中,就可以了解他们的作用,和区别

日期函数

SYSDATE函数:SELECT SYSDATE FROM dual;

说明:SYSDATE函数是获取当前系统时间,

事例:对商品表进行数据插入操作,并且要添加插入当前时间

INSERT INTO es VALUES(100,2,'苹果',SYSDATE,700);//其中SYSDATE为时间字段,插入了当前系统时间

EXTRACT函数:SELECT EXTRACT(YEAR FROM SYSDATE) FROM dual;

说明:EXTRACT函数是获取部分时间,比如年,月,日等

SELECT EXTRACT(YEAR FROM SYSDATE) FROM dual;//<span style="font-family: Arial, Helvetica, sans-serif;">获取当前系统时间的年</span>
SELECT EXTRACT(MONTH FROM SYSDATE) FROM dual;//<span style="font-family: Arial, Helvetica, sans-serif;">获取当前系统时间的月</span>
SELECT EXTRACT(DAY FROM SYSDATE) FROM dual;//<span style="font-family: Arial, Helvetica, sans-serif;">获取当前系统时间的日</span>

事例:检索商品表,对检索结果中的上架时间使用年-月-日格式显示

SELECT EXTRACT(YEAR FROM p.datee) || '-'|| EXTRACT(MONTH FROM p.datee) || '-' || EXTRACT (DAY FROM p.datee) FROM es p

说明:上面我使用了前面讲的拼接符||,把年月日分别取出,然后使用拼接显示p.datee为商品表中的日期字段

转换函数

转换函数:主要用于操作多表数据类型,它的主要作用就是把数据从一种数据类型转换成另外一种数据类型,比如:

TO_CHAR:主要是对数字,日期进行转换成字符类型,常用的还是日期转成字符串格式

语法:TO_CHAR(date) 或 TO_CHAR(date,‘format_model‘) 第二个参数为格式,

事例:检索商品表,对检索结果中的上架时间使用年-月-日格式显示

SELECT TO_CHAR(p.datee,'YYYY-MM-DD') FROM es p

TO_DATE():主要是时间字符符转换成时间类型函数

语法:TO_DATE(date,‘format_model‘)

事例:对商品上架日期进行比较检索,检索2012年3月份上架的商品

SELECT * FROM es p WHERE TO_DATE('2012-2-29','YYYY-MM-DD') < p.datee AND p.datee <= TO_DATE('2012-3-31','YYYY-MM-DD')

聚合函数

分组:GROUP BY column

SELECT SUM(p.stockcount),p.id FRPM es p GROUP BY p.id;

以上语法是以ID来分组,SUM为求和函数

还是COUNT(column) 求总数

还是MAX(column) 求最大值的,

聚合函数还有很多,大家有兴趣可以自己去扩展了解,聚合函数与GROUP BY 分组一起结合起来用,这样更有意义。我记得我的博客中有写过分组,大家可以自行查看博客中数据库类型中的博客。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-31 02:48:03

SQL语言的常用函数的相关文章

Oracle SQL语言之常用函数_超越OCP精通Oracle视频教程培训30

Oracle SQL语言之常用函数_超越OCP精通Oracle视频教程培训30 本课程介绍: Oracle视频教程,风哥本套oracle教程培训是<<Oracle数据库SQL语言实战培训教程>>的第5/5套:Oracle SQL语言之常用函数.主要学习Oracle数据库SQL聚合函数,分组函数,字符函数,转换函数,日期字符数字转换,日期函数,集合函数,分析函数等. Oracle SQL语言之常用函数,课程内容详细如下: 聚合函数-数据统计 分组函数-使用group by与havin

Sql Server中常用函数replicate

SQL常用函数之三 REPLICATE () 按指定次数重复字符表达式. 语法 REPLICATE ( character_expression, integer_expression) 参数 character_expression 字符数据型的字母数字表达式,或者可以隐式转换为 nvarchar 或 ntext 的其他数据类型的字母数字表达式. integer_expression 可以隐式转换为 int 的表达式.如果 integer_expression 为负,将返回空字符串. 返回值 

SQL 中的常用函数及使用

在SQL中我们使用的函数有很多,我们经常使用的就是下面的一些函数,那么我一一列举数来: 1:聚合函数:MAX 返回指定数据的最大值. MIN 返回指定数据的最小值. COUNT 返回指定组中项目的数量. AVG 返回指定组中的平均值,空值被忽略. SUM 返回指定数据的和,只能用于数字列,空值被忽略. 2:数学函数:ceiling 取上限floor 取下限 qound 四舍五入abs 取绝对值pi 圆周率 SQRT - 开根号SQUARE - 平方根 3:字符串函数:UPPER 将字符串中的小写

SQL SERVER 字符串常用函数

在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数. 1.获取字符的ASCII码 ASCII ASCII码是对字符的标准编码.要获取字符的ASCII码就可以通过调用ASCII函数来实现. 语法结构: ASCII(espression) 这里的expression是一个返回char或varchar数据类型的表达式,ASCII函数仅对表达式最左侧的字符返回ASCII码值. 返回值:int数据类型. 示例: select ASCII('f') --输出 102 注意如果

R语言:常用函数【转】

数据结构 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量list:列表 data.frame:数据框 c:连接为向量或列表length:求长度subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 nam

sql编程的常用函数

1.数学函数:操作一个数据,返回一个结果 --取上限ceilingselect code,name,ceiling(price) from car ; --取下限 floorselect floor(price) from car --ABS 绝对值 --派 PI(),圆周率,括号里不需要加东西 --ROUND 四舍五入select ROUND(3.76,0) --SQRT 开根号 --SQUARE 平方,乘以自己 2.字符串函数: --转换大写 upperselect upper(pic) f

SQL的一切常用函数展示

练习了一下, 用时再慢慢看吧. SHOW WARNINGS; SELECT quote(text_fld) FROM string_tbl; SELECT CONCAT('danke sch', CHAR(148), 'n'); SELECT ASCII('ö'); SELECT LENGTH(char_fld) char_length FROM string_tbl; SELECT POSITION('is' IN vchar_fld) FROM string_tbl; SELECT (37

PHP语言 -- 数组常用函数

attr = array(1,2,3,4,5); echo in_array(1,$attr); //判断数组中是包含在某个值 , 包含返回1 不包含返回空 print_r(array_reverse($attr));//翻转数组 ,返回一个数组 echo count($attr); //返回数组里面元素的个数 $attr = array(1,1,2,3,4,5); print_r(array_unique($attr));//去重 ,返回一个新的数组 unset($attr[2]);//删除数

Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐

风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入门:SQL语言DDL语句和对象管理,表/临时表/索引/约束/视图/同义词/序列/触发器/存储过程/包的创建管理:SQL语言DML语句,SQL语句INSERT/UPDATE/DELETE,PL/SQL创建,事务与锁:SQL语言Select查询语句,SQL查询限制排序,联接查询,SQL子查询:SQL语言