SQL
ROUND函数是对数据进行制定精度的取值。

1.字符串转化为整型

SQL系统函数的使用(试验5)

abs()取绝对值
ceil()上取整
floor()下取整
initcap()使串中的所有单词的首字母变为大写
substr()取子串
这些函数都是oracle的sql内置函数。

三, 函数关键字
使用介绍

图片 1

 CONVERT(INT,’字符串’)

函数在查询语句中的使用

图片 2

  • 查询员工的姓名和日工资(保留1位小数);
  • 查询并显示部门号为01和02的所有员工的姓名首字及岗位;
  • 查询并显示所有员工的姓名及工龄;
  • 查询1990年6月5号以前入职的员工姓名和岗位;
  • 查询1990年入职的员工姓名和入职日期 (使用EXTRACT、TO_DATE分别实现);
  • 查询6月份入职的员工姓名和入职日期;

1.查询员工的姓名和日工资(保留1位小数);

select ename,round(sal/30,1)
from emp;

2.查询并显示部门号为01和02的所有员工的姓名首字及岗位;

select substr(ename,0,1), job
from emp
where deptno = '01' or deptno = '02';

3.查询并显示所有员工的姓名及工龄;

select ename,trunc(months_between(sysdate,hiedate)/12)
from emp;

4.查询1990年6月5号以前入职的员工姓名和岗位;

select ename,job
from emp
where   hiedate < to_date('1990-06-5','yyyy-mm-dd');

5.查询1990年入职的员工姓名和入职日期 (使用EXTRACT、TO_DATE分别实现);

select ename,hiedate
from emp
where extract(year from hiedate) = '1990'

select ename , hiedate
from emp
where hiedate >= to_date('1990-01-01','yyyy-mm-dd') and hiedate <= to_date 

 ('1990-12-31','yyyy-mm-dd')

6.查询6月份入职的员工姓名和入职日期;

select ename,hiedate
from emp
where extract(month from hiedate) = '06'

28, Function的使用(Function的内建 SQL函数)?

 

 

使用统计函数及相应查询语句完成以下工作,并对照表数据验证结果的正确性

图片 3

  • 统计员工总人数;
  • 员工人数在2人及以上的部门和人数;
  • 查询所有员工的薪水总额、平均薪水、最高薪水及最低薪水;
  • 查询’02’部门员工的薪水总额、平均薪水、最高薪水及最低薪水;
  • 查询各个部门的员工人数及平均奖金;
  • 统计男员工的人数;
  • 统计男、女员工的人数;
  • 统计部门编号为01和02两部门的男、女员工的人数;

1.统计员工总人数;

select count(empno)
from emp

2.员工人数在2人及以上的部门和人数;

select count(ename)人数,job
from emp
group by job
having count(ename)>1

3.查询所有员工的薪水总额、平均薪水、最高薪水及最低薪水;

select sum(sal),avg(sal),max(sal),min(sal)
from emp

4.查询’02’部门员工的薪水总额、平均薪水、最高薪水及最低薪水;

select sum(sal),avg(sal),max(sal),min(sal)
from emp
where deptno = '02'

5.查询各个部门的员工人数及平均奖金;

select count(eno)人数,job 部门,avg(comn)平均奖金
from emp
group by job

6.统计男员工的人数;

select count(*) 人数
from emp
where sex = '男'

7.统计男、女员工的人数;

select sex 性别 ,count(*) 人数
from emp
group by sex

8.统计部门编号为01和02两部门的男、女员工的人数;

select  sex 性别 ,count(*) 人数 
from emp
where deptno = '01'or '02'
group by sex
内建 SQL 函数的语法是:
SELECT function(列) FROM 表)

第一个参数是取值的数据,第二个参数是精度,第三个参数是数据取值模式(四舍五入还是截断),其中第三个参数是可选参数,默认是四舍五入模式。

2.结果集
输出为一段字符串

 

图片 4

SELECT STUFF((SELECT ‘,’+A FROM tableFOR XML PATH(”)),1,1,”)

29, avg() 的使用(avg() 返回列的平均值)

 

AVG 函数返回数值列的平均值。NULL 值不包括在计算中。
SELECT AVG(column_name) FROM table_name

 从上面结果可以看出,数据并非只保留两位小数,而是保留两位有效小数。

30, count()的使用(count()的指定列的数目)

图片 5

COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name

从上面两次可以看出,默认不使用第三个参数是四舍五入模式。

31, First()的使用(First()返回字段 第一个值)

图片 6

FIRST() 函数返回指定的字段中第一个记录的值。
提示:可使用 ORDER BY 语句对记录进行排序。
SELECT FIRST(column_name) FROM table_name

 

32, Last()的使用(Last()返回字段 最后个值)

第三个参数如果是0,则四舍五入,如果是非0,则截断

LAST() 函数返回指定的字段中最后一个记录的值。
提示:可使用 ORDER BY 语句对记录进行排序。
SELECT LAST(column_name) FROM table_name

图片 7

 

通过结果发现,后面的5被截断,保留了两位有效小数。

33, Max()的使用(Max() 返回列中最大值)

另外,如果精度为负数,则为整数部分精确取值。

MAX 函数返回一列中的最大值。NULL 值不包括在计算中。
SELECT MAX(column_name) FROM table_name
注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。

图片 8

 

 

34, Min()的使用(Min()返回列中最小值)

 

MIN 函数返回一列中的最小值。NULL 值不包括在计算中。
SELECT MIN(column_name) FROM table_name
注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。
SELECT ROUND(987.45,-2)

 

图片 9

35, Sum()的使用(Sum()计算列的总和)

出现错误是因为987.45为decimal(5,2),它无法表示1000.00,此时需要转换数据类型

SUM 函数返回数值列的总数(总额)。
SELECT SUM(column_name) FROM table_name

图片 10

合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。

 

36, group by的使用(group by 结合合计函数的  进行分组)

参考: 

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

37, having的使用(having  )?

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

38, ucase()的使用(ucase()把字段的值转为大写)

UCASE 函数把字段的值转换为大写。
SELECT UCASE(column_name) FROM table_name

39, lcase()的使用(lcase ()把字段的值转为小写)

LCASE 函数把字段的值转换为小写。
SELECT LCASE(column_name) FROM table_name

40, len()的使用(len()字段的长度)

LEN 函数返回文本字段中值的长度。
SELECT LEN(column_name) FROM table_name

 

41, round()的使用(round()指定小数位数)

ROUND 函数用于把数值字段舍入为指定的小数位数。
SELECT ROUND(column_name,decimals) FROM table_name
例子:
SELECT ProductName, ROUND(UnitPrice,0) as UnitPrice FROM Products

 

42, now()的使用(now()返回当前时间)

NOW 函数返回当前的日期和时间。
提示:如果您在使用 Sql Server 数据库,请使用 getdate() 函数来获得当前的日期时间。
SELECT NOW() FROM table_name

43, format()的使用(now()返回当前时间)

FORMAT() 函数
FORMAT 函数用于对字段的显示进行格式化。
SELECT FORMAT(column_name,format) FROM table_name

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图