(十一)函数查询

1. 聚合函数

  • 对一组值进行计算,得到一个返回值

  • SUM(), 求和

  • AVG(), 求平均

  • MIN(), 求最小

  • MAX(), 求最大

  • COUNT(), 计数,即个数

--例1 求所有学生的平均年龄
Select AVG(sage) AS 平均 FROM Student --求所有学生的最大、、最小、平均年龄和人数
Select MAX(sage) AS 最大, MIN(sage) AS 最小, AVG(Sage) AS 平均 ,COUNT(*) AS 人数
FROM Student --例3 求航天班所有学生的最大、最小、平均年龄和人数
Select MAX(sage) AS 最大, MIN(sage) AS 最小, AVG(Sage) AS 平均 ,COUNT(*) AS 人数
FROM Student
WHERE sclass = '航天'

2. 类型转换函数

  • CONVERT()

    • CONVERT(datatype, expression [, style])

    • datatype : 目标类型

    • expression : 表达式, 把这个表达式的值转换成 datatype 这种类型

    • [, style], datatype 是日期型时需要,style是日期的 格式代号

--格式转换函数

--例4 整数转字符串
SELECT CONVERT(varchar, ) --例5 实数转字符串
SELECT CONVERT(varchar, 120.12) --例6 字符串转换为整数
SELECT CONVERT(int, '') --例7 字符串转实数
SELECT CONVERT(decimal(, ), '3.14159') --例8 日期转换字符串
SELECT CONVERT(char, GETDATE()) --例9 日期转yy.mm.dd型字符串
SELECT CONVERT(char, getdate(), ) --例10 日期转yy/mm/dd型字符串
SELECT CONVERT(char, getdate(), ) --例11 字符串转日期
SELECT CONVERT(DATE, '') SELECT CONVERT(DATE, '2016/05/10') SELECT CONVERT(DATE, '2016-05-10') SELECT CONVERT(DATE, '5/10/2016')

2. 日期型函数

  • GETDATE() 获取当前日期和时间

    • SELECT GETDATE()
  • DATEADD() 给日期增加年、月、日或时间

    • DATEADD(part, number, date)
    • date : 日期
    • number : 数
    • part , 日期的哪部分
      • year, 年 ; month, 月; day, 日
      • hour , minute , second
  • DATEDIFF() 两个日期相减

    • DATEDIFF(part, date1, date2)

    • date2 和 date1 在part上 相减

    • part

      • year, 年 ; month, 月; day, 日

      • hour , minute , second

  • GETNAME(part, date) 获得date的part部分,已字符串返回

--例13 日期在某部分加

SELECT DATEADD(year, , '2010/5/10 10:10:10.100')
--年
select dateadd(year, , '2010/5/10 10:10:10.100')
--天
select dateadd(day, , '2010/5/10 10:10:10.100')
--秒
select dateadd(second, , '2010/5/10 10:10:10.100') --在表中出生日期加5
Select DateAdd(year, , sbirthday)
FROM Student --例14 日期在某部分减
Select DateDiff(year, '2010-1-1', '2016-1-1') Select DateDiff(year, sbirthday, GetDate())
From Student --例15 获得日期的一部分
Select DateName(month, GetDate()) --得到出生年
Select sno, sname, Sdept,
DateName(year, sbirthday) As 出生年份
From Student
WHERE Sdept = 'CS'

4. 数学函数

5. 字符串处理函数

SELECT *
FROM Student
Where rtrim(ltrim(Sdept)) = 'CS' -- 将CS前面和后面的空格都截取掉

SQL语句(十一)函数查询的更多相关文章

  1. 使用传入的总记录数实现一条sql语句完成分页查询

    使用传入的总记录数实现一条sql语句完成分页查询     问题:在传统的分页查询的实现中不可避免的需要两条sql语句,一条用于查询数据一条用于查询总记录数.如下面的实际代码所示: Img1 当然如果使 ...

  2. mongodb 跟踪SQL语句及慢查询收集

    有个需求:跟踪mongodb的SQL语句及慢查询收集 第一步:通过mongodb自带函数可以查看在一段时间内DML语句的运行次数. 在bin目录下面运行  ./mongostat -port 端口号  ...

  3. [转]在Excel中使用SQL语句实现精确查询

    本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...

  4. 在JDBC中实现SQL语句的模糊查询

    在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...

  5. SQL 语句常用函数

    一.字符转换函数 1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错. 2.CH ...

  6. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  7. 第五篇、常用的SQL语句和函数介绍

    简介: 在使用到sqlite3的时候,常常需要写一些SQL语句,现将常用到的部分语句稍微总结以下,由于个人习惯,关键字用大写. 附: /*简单约束*/ CREATE TABLE IF NOT EXIS ...

  8. SQL语句:子查询

    一,子查询定义: 子查询就是嵌套在主查询中的查询. 子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY. 但并不是每个位置嵌套子 ...

  9. 【转载】Sqlserver的SQL语句实现分页查询

    在应用程序的开发中,如果数据库中的数据量过于的庞大,则需要针对查询数据做分页处理,取出对应分页中的数据,在Sqlserver分页的语句写法中,有两种比较常用,一种是数据表中含有自增量Id的情况,可以根 ...

  10. 厚溥教育1718部数据库连接作业答案,分装一个操作数据库而无需写SQL语句的函数

    <?php header("Content-type:text/html;charset=utf8"); //PHP操作数据库的函数 function phpsql($dbc ...

随机推荐

  1. 零点计费系统_Ros云计费(下面是对接教程)

    零 点 计 费 系 统 对 接 ROS 教 程 1.首先我们到零点控制台:oa.eczcz.com先注册一个主账号:(当然,以前有维盟片区的主账号就不用再注册了,因为零点早就设计到支持多台路由器,所以 ...

  2. 【URLOS应用开发基础】10分钟制作一个nginx静态网站环境应用

    URLOS开发者功能已上线有一段时间了,目前通过部分开发者的使用体验来看,不得不说URLOS在服务器软件开发效率方面确实有着得天独厚的优势,凭借docker容器技术与其良好的应用生态环境,URLOS必 ...

  3. es6箭头函数使用场景导致的一些问题

    1. 今天在使用draggable组件时,监听dragmove事件时获取到的事件对象有一些异常, 代码如下 draggable.on('drag:move', (event) => { cons ...

  4. CSAPP lab2 二进制拆弹 binary bombs phase_4

    给出对应于7个阶段的7篇博客 phase_1  https://www.cnblogs.com/wkfvawl/p/10632044.htmlphase_2  https://www.cnblogs. ...

  5. Daily Scrum - 11/16

    时间:午饭 今天小组例会主要是汇报了各自的进度.任烁那边主要为工程添加了单词的类(包含各个参数等成员变量),方便以后实现算法:拜重阳实现了一个简易的“点进-点出”UI,可谓迈出了艰难的第一步:章玮和罗 ...

  6. 谈vs2013单元测试感想

    (1)安装篇:这个就不用多说啦,百度一个安装包进行安装. 之前下载过vs2013当时是抱着玩玩的心态,也没有安装成功,现在作为作业重新安装,并且进行单元测试.下面就是安装vs2013的具体过程以及我遇 ...

  7. BUG报告

    Bug1 1.看到的现象:如果在注册时使用中文作为密码,并不会报错,但是登陆过程中的密码框却不能输入中文导致无法登陆. 2.期待的现象:登陆也能支持中文或在注册功能中添加输入约束. 3.二者的差异 在 ...

  8. python学习:python的星号(*)和双星号(**)用法

    原帖地址见:[Python]-12-星号变量的特殊用法 在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...

  9. 六大Web负载均衡原理与实现

    还有个姊妹篇也可以参考这个文章:LVS(Linus Virtual Server):三种负载均衡方式比较+另三种负载均衡方式, LVS 实现了负载均衡,NAT,DR,TUN zookeeper使用ZA ...

  10. Java并发编程之深入理解线程池原理及实现

    Java线程池在实际的应用开发中十分广泛.虽然Java1.5之后在JUC包中提供了内置线程池可以拿来就用,但是这之前仍有许多老的应用和系统是需要程序员自己开发的.因此,基于线程池的需求背景.技术要求了 ...