内部函数的使用
SQL 语言为操纵数据提供了许多内部函数,可分为不同的种类。大致分为数值函数、字符函数、日期函数、分组函数。下面列出一部分常用的SQL内部函数,不同的DBMS提供的内部函数在名称和功能上有一些差别,但大部分都支持如下函数。在使用不同的DBMS时,要注意参看其具体说明。
表3-9 部分常用SQL函数
分类 | 函数名称 | 返回值 |
数值函数 | ABS(m) | 求m的绝对值 |
MOD(m,n) | 求m被n除后的余数 | |
字符函数 | LOWER(st) | 返回每个单词都小写后的字符串st |
UPPER(st) | 返回每个单词都大写后的字符串st | |
LENGTH(st) | 返回st,将st每个单词的首字母大写,其他小写 | |
LEFT(st,n) RIGHT(st,n) | 返回从st左/右边开始指定的n个字符 | |
LTRIM(st) RTRIM(st) | 返回删除左、右空格后的字符串st | |
SUBSTR(st,m,n) | 返回st的子串,从m位置开始,取n个字 |
练习:
函数小例子
select lower('EEDTdrg')
select upper('djawgFSf')
select len('sql server')
select left('sql server',2)
select month('2019-4-11')
select year(getdate())
select datediff(yy,'2016-9-8','2019-4-12')
查找学生的出生年份
select *,year(getdate())-sage as bornyear
from student
where year(getdate())-sage>2000
字符串连接
select sno,rtrim(sname)+'是'+rtrim(sdept)+'学院的学生'
from student
查询全体学生的姓名和所在系,要求用小写字母表示所有系名
select sname,lower(sdept)
from student