(十一)函数查询

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. [摘抄]从 GitHub 身上学到的 3 个创业经验

    1.找一个大问题去解决 让 Git 更容易使用是 GitHub 的目标,但它从来不是 GitHub 的最终目标.GitHub 的真正目标是让协作和编写软件变得更容易.世界上每一个软件开发者都在努力解决 ...

  2. BUGKU--刷题

    刷题 一.BUGKU WEB 1. 变量1 知识点php两个$$是 可变变量,就是一个变量的变量名可以动态的设置和使用 $GLOBALS一个包含了全部变量的全局组合数组.变量的名字就是数组的键 < ...

  3. Codeforces Round #546 (Div. 2) E - Nastya Hasn't Written a Legend

    这题是一个贼搞人的线段树 线段树维护的是 区间和a[i - j] 首先对于update的位置可以二分查找 其次update时候的lazy比较技巧 比如更新的是 l-r段,增加的是c 那么这段的值为: ...

  4. unity上传app store遇到的一些问题

    记录ios发布时遇到的一些问题 注:如果你是用mac开发,那就在Unity里直接BuildAndRun就直接可以导到XCode里,如果是win,那就先打包成ios包,在传导Xcode里打开,不过可能会 ...

  5. 通过监控Nginx日志来实时屏蔽高频恶意访问的IP

    目前在我的VPS上主要通过两种方式来限制ip的访问次数. 通过Nginx的limit_req配置来限制同一ip在一分钟内的访问次数 通过Nginx deny封禁一天内超过指定次数的ip(需要一个监控脚 ...

  6. UVALive 4877 Non-Decreasing Digits 数位DP

    4877 Non-Decreasing Digits A number is said to be made up ofnon-decreasing digitsif all the digits t ...

  7. FTP地址

    访问不了FTP的同学可以试试用IPv6 地址2001:da8:203:ed5:CEB2:55FF:FE8B:ED1来访问,用户名密码不变.

  8. Docker打DB2 9.7镜像采坑相关

    概况:以centos:7.2.1511镜像为基础镜像,使用docker commit方式进行构建   步骤: 运行centos7.2.1511镜像(以特权模式运行,后续内核参数修改必需参数) dock ...

  9. 冲刺Two之站立会议1

    今天我们开始了第二个冲刺期的工作,大家重新讨论了下个阶段的工作内容,由于上次演示我们主要只是实现了摄像头开启.通信和语音通话的功能,而且各部分还有待完善.所以我们决定了之后的主要工作的内容:之前服务器 ...

  10. vue 跳转路由传参数用法

    // 组件 a <template> <button @click="sendParams">传递</button> </template ...